第一次提交
|
@ -10,6 +10,8 @@
|
|||
"dependencies": {
|
||||
"axios": "^1.5.1",
|
||||
"core-js": "^3.8.3",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"lodash": "^4.17.21",
|
||||
"normalize.css": "^8.0.1",
|
||||
"postcss-pxtorem": "^6.0.0",
|
||||
"vant": "^2.13.1",
|
||||
|
@ -6637,6 +6639,11 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/jsencrypt": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.3.2.tgz",
|
||||
"integrity": "sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A=="
|
||||
},
|
||||
"node_modules/jsesc": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
|
||||
|
@ -6808,10 +6815,8 @@
|
|||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.debounce": {
|
||||
"version": "4.0.8",
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
"dependencies": {
|
||||
"axios": "^1.5.1",
|
||||
"core-js": "^3.8.3",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"lodash": "^4.17.21",
|
||||
"normalize.css": "^8.0.1",
|
||||
"postcss-pxtorem": "^6.0.0",
|
||||
"vant": "^2.13.1",
|
||||
|
|
13
src/App.vue
|
@ -1,11 +1,18 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<router-view></router-view>
|
||||
<keep-alive include="TabBar">
|
||||
<router-view></router-view>
|
||||
</keep-alive>
|
||||
|
||||
<!-- <TabBar/> -->
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
<script src="./libs/flexible"></script>
|
||||
<script src="./libs/touch.js"></script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" >
|
||||
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
(function (d, f) {
|
||||
var s = d.document;
|
||||
var c = s.documentElement;
|
||||
var m = s.querySelector('meta[name="viewport"]');
|
||||
var n = s.querySelector('meta[name="flexible"]');
|
||||
var a = 0;
|
||||
var r = 0;
|
||||
var b = 0;
|
||||
var l;
|
||||
var e = f.flexible || (f.flexible = {});
|
||||
if (n) {
|
||||
var j = n.getAttribute("content");
|
||||
if (j) {
|
||||
var q = j.match(/initial\-dpr=([\d\.]+)/);
|
||||
var h = j.match(/maximum\-dpr=([\d\.]+)/);
|
||||
if (q) {
|
||||
a = parseFloat(q[1]);
|
||||
r = parseFloat((1 / a).toFixed(2))
|
||||
}
|
||||
if (h) {
|
||||
a = parseFloat(h[1]);
|
||||
r = parseFloat((1 / a).toFixed(2))
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!a && !r) {
|
||||
var p = d.navigator.appVersion.match(/android/gi);
|
||||
|
||||
var o = d.navigator.appVersion.match(/iphone/gi);
|
||||
var k = d.devicePixelRatio; // 获取设备像素比 = 物理像素 / 设备独立像素
|
||||
if (k >= 3 && (!a || a >= 3)) {
|
||||
a = 3
|
||||
} else {
|
||||
if (k >= 2 && (!a || a >= 2)) {
|
||||
a = 2
|
||||
} else {
|
||||
a = 1
|
||||
}
|
||||
}
|
||||
console.log(a)
|
||||
r = 1 / a; // 初始比例
|
||||
}
|
||||
c.setAttribute("data-dpr", a); // 动态添加data-drp显示设备像素比
|
||||
// 动态添加meta
|
||||
m = s.createElement("meta");
|
||||
m.setAttribute("name", "viewport");
|
||||
m.setAttribute("content", "width=device-width, initial-scale=" + r + ", maximum-scale=" + r + ", minimum-scale=" + r + ", user-scalable=no");
|
||||
if (c.firstElementChild) {
|
||||
c.firstElementChild.appendChild(m)
|
||||
} else {
|
||||
var g = s.createElement("div");
|
||||
g.appendChild(m);
|
||||
s.write(g.innerHTML)
|
||||
}
|
||||
|
||||
function i() {
|
||||
var u = c.getBoundingClientRect().width; // 布局视图的宽 = 设备尺寸 * 像素比
|
||||
if (u / a > 540) {
|
||||
u = 540 * a
|
||||
} // 根据设备像素比计算设计尺寸
|
||||
var w = u / 10; // 动态设置字体大小
|
||||
console.log(w)
|
||||
c.style.fontSize = w + "px";
|
||||
e.rem = d.rem = w;
|
||||
var v = parseFloat(c.style.fontSize),
|
||||
t = parseFloat(window.getComputedStyle(c).getPropertyValue("font-size"));
|
||||
console.log("flexible.refreshRem: fontSize && finalFontSize => ", v, t);
|
||||
if (v !== t) {
|
||||
c.style.fontSize = v * (v / t) + "px";
|
||||
console.log("flexible.refreshRem.fixed: fontSize => ", c.style.fontSize)
|
||||
}
|
||||
}
|
||||
d.addEventListener("resize", function () {
|
||||
clearTimeout(l);
|
||||
l = setTimeout(i, 300)
|
||||
}, false);
|
||||
d.addEventListener("pageshow", function (t) {
|
||||
if (t.persisted) {
|
||||
clearTimeout(l);
|
||||
l = setTimeout(i, 300)
|
||||
}
|
||||
}, false);
|
||||
if (s.readyState === "complete") {
|
||||
s.body.style.fontSize = 12 * a + "px"
|
||||
} else {
|
||||
s.addEventListener("DOMContentLoaded", function (t) {
|
||||
s.body.style.fontSize = 12 * a + "px"
|
||||
}, false)
|
||||
}
|
||||
i();
|
||||
e.dpr = d.dpr = a;
|
||||
e.refreshRem = i;
|
||||
e.rem2px = function (u) {
|
||||
var t = parseFloat(u) * this.rem;
|
||||
if (typeof u === "string" && u.match(/rem$/)) {
|
||||
t += "px"
|
||||
}
|
||||
return t
|
||||
};
|
||||
e.px2rem = function (u) {
|
||||
var t = parseFloat(u) / this.rem;
|
||||
if (typeof u === "string" && u.match(/px$/)) {
|
||||
t += "rem"
|
||||
}
|
||||
return t
|
||||
}
|
||||
})(window, window["lib"] || (window["lib"] = {}));
|
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 952 B |
After Width: | Height: | Size: 717 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 965 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 932 B |
After Width: | Height: | Size: 806 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 249 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 866 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,29 @@
|
|||
<template>
|
||||
<div class="box">
|
||||
<div @click="$router.push(url)">
|
||||
<van-icon name="arrow-left" :style="{ color: color }"/>
|
||||
</div>
|
||||
|
||||
<h3 :style="{ color: color }">{{con}}</h3>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props:['con','url','color']
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.box{
|
||||
display: flex;
|
||||
height: 46px;
|
||||
align-items: center;
|
||||
.van-icon{
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin-left: 15px;
|
||||
}
|
||||
h3{
|
||||
margin-left: 120px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div>
|
||||
<van-notice-bar
|
||||
left-icon="volume-o"
|
||||
text="本模块知识仅供参考,如有需要,请在医生指导下使用"
|
||||
background='red'
|
||||
color="#fff"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,12 @@
|
|||
<template>
|
||||
<div></div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
|
@ -1,59 +0,0 @@
|
|||
<template>
|
||||
<div class="hello">
|
||||
<h1>{{ msg }}</h1>
|
||||
<p>
|
||||
For a guide and recipes on how to configure / customize this project,<br>
|
||||
check out the
|
||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
||||
</p>
|
||||
<h3>Installed CLI Plugins</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
|
||||
</ul>
|
||||
<h3>Essential Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
||||
</ul>
|
||||
<h3>Ecosystem</h3>
|
||||
<ul>
|
||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'HelloWorld',
|
||||
props: {
|
||||
msg: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped lang="scss">
|
||||
h3 {
|
||||
margin: 40px 0 0;
|
||||
}
|
||||
ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
}
|
||||
a {
|
||||
color: #42b983;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,22 @@
|
|||
<template>
|
||||
<div>{{con}}</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props:['con']
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
div{
|
||||
text-align: left;
|
||||
height: 40px;
|
||||
line-height: 30px;
|
||||
border-left: 4px solid rgb(48,135,234);
|
||||
padding-left: 10px;
|
||||
color: rgb(48,135,234);
|
||||
padding: 5px;
|
||||
background: #fff;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,57 @@
|
|||
<template>
|
||||
<div class="header">
|
||||
<img src="../../assets/images/icon/user.png" alt="" class="left" @click="$router.push('/my/myIndex')"/>
|
||||
<slot name="center">
|
||||
</slot>
|
||||
<div>
|
||||
<img src="../../assets/images/icon/common_nav_message_black_n.png" alt="" />
|
||||
<img src="../../assets/images/icon/robot.jpg" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// import '../../'
|
||||
export default {
|
||||
methods:{
|
||||
goSearch(){
|
||||
this.$router.push('/home/search')
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.header {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
.inp {
|
||||
border: 1px solid #ccc;
|
||||
height: 70%;
|
||||
border-radius: 20px;
|
||||
width: 235px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
font-size: 12px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
img {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
// margin: 0 10px;
|
||||
}
|
||||
.left{
|
||||
margin-left: 10px;
|
||||
}
|
||||
div{
|
||||
img{
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,17 @@
|
|||
<template>
|
||||
<div>
|
||||
<van-cell :title="con" is-link />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props:['con']
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
|
@ -0,0 +1,103 @@
|
|||
<template>
|
||||
|
||||
<div class="box">
|
||||
<slot name="home"></slot>
|
||||
<div class="center">
|
||||
<slot name="center"></slot>
|
||||
</div>
|
||||
|
||||
<slot name="video"></slot>
|
||||
<!-- <div @click="handleHome">
|
||||
<img src="../../assets/images/icon/home_active.png" v-if="homeActive">
|
||||
<img src="../../assets/images/icon/home.png" v-else>
|
||||
</div>
|
||||
<div class="center" @click="handleCenter">
|
||||
<img src="../../assets/images/icon/center_active.png" v-if="EditActive" class="centerImg">
|
||||
<img src="../../assets/images/icon/center.png" v-else class="centerImg">
|
||||
</div>
|
||||
<div @click="handleVideo">
|
||||
<img src="../../assets/images/icon/video_active.png" v-if="VideActive">
|
||||
<img src="../../assets/images/icon/video.png" v-else>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
homeActive:true,
|
||||
EditActive:false,
|
||||
VideActive:false
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log(11);
|
||||
},
|
||||
methods:{
|
||||
handleHome(){
|
||||
this.homeActive=false
|
||||
this.EditActive=false
|
||||
this.VideActive=false
|
||||
this.$router.push('/home')
|
||||
this.$nextTick(()=>{
|
||||
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
handleCenter(){
|
||||
this.EditActive=true
|
||||
this.homeActive=false
|
||||
this.VideActive=false
|
||||
console.log(this.homeActive);
|
||||
this.$router.push('/patientCircle')
|
||||
this.$nextTick(()=>{
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
handleVideo(){
|
||||
// this.EditActive=!this.EditActive
|
||||
// this.$router.push('/patientCircle')
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
console.log(222);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.box{
|
||||
background: url('../../assets/images/img/tab-bar.png');
|
||||
background-size: 100% 100%;
|
||||
position: fixed;
|
||||
bottom: -5px;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.center{
|
||||
position: relative;
|
||||
img{
|
||||
position: absolute;
|
||||
top: -40px;
|
||||
left: -20px;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
// img{
|
||||
// margin-top: -120px;
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,311 @@
|
|||
import http from '../http/index'
|
||||
|
||||
//获取轮播图接口
|
||||
export const getBanner=async()=>{
|
||||
return await http.get('/health/share/v1/bannersShow')
|
||||
}
|
||||
//获取中间的菜单
|
||||
export const getMenu=async ()=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDepartment')
|
||||
}
|
||||
//获取tab头部标题接口
|
||||
export const getHealth=async()=>{
|
||||
return await http.get('/health/share/information/v1/findInformationPlateList')
|
||||
}
|
||||
//首页的tab列表接口
|
||||
export const getTabList=async (data)=>{
|
||||
return await http.get('/health/share/information/v1/findInformationList',{params:data})
|
||||
}
|
||||
//登录接口
|
||||
export const isLogin=async (data)=>{
|
||||
return await http.post('/health/user/v1/login',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//注册接口
|
||||
export const isSigin=async (data)=>{
|
||||
return await http.post('/health/user/v1/register',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//获取验证码接口
|
||||
export const getCode=async (data)=>{
|
||||
return await http.post('/health/user/v1/sendOutEmailCode',data,{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//获取常见病症接口 (查询科室列表)
|
||||
export const CommonDisease=async()=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDepartment')
|
||||
}
|
||||
//获取常见病症状的具体症状
|
||||
export const EveryDisease=async(data)=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDiseaseCategory',{params:data})
|
||||
}
|
||||
//获取常见药品接口 (药品科目分类列表查询)
|
||||
export const CommonDrug=async()=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDrugsCategoryList')
|
||||
}
|
||||
//获取常见具体的药品接口
|
||||
export const EveryDrug=async (data)=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDrugsKnowledgeList',{params:data})
|
||||
}
|
||||
|
||||
//从首页中的列表跳转到详情页
|
||||
export const jumpDetail = async(data)=>{
|
||||
return await http.get('/health/share/information/v1/findInformation',{params:data})
|
||||
|
||||
}
|
||||
// /health/share/knowledgeBase/v1/findDrugsKnowledge
|
||||
//查询常见病症详情
|
||||
export const CommonDiseaseDetail=async (data)=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDiseaseKnowledge',{params:data})
|
||||
}
|
||||
|
||||
//查询常见药品详情
|
||||
export const CommonDrugDetail=async (data)=>{
|
||||
return await http.get('/health/share/knowledgeBase/v1/findDrugsKnowledge',{params:data})
|
||||
}
|
||||
|
||||
//查询问诊医生的接口
|
||||
export const doctor=async(data)=>{
|
||||
return await http.get('/health/user/inquiry/v1/findDoctorList',{params:{...data}})
|
||||
}
|
||||
|
||||
//热门搜索接口
|
||||
export const hot=async ()=>{
|
||||
return await http.get('/health/share/v1/popularSearch')
|
||||
}
|
||||
|
||||
//单个输入框搜索
|
||||
export const getSearch=async (data)=>{
|
||||
return await http.get('/health/share/v1/homePageSearch',{params:data})
|
||||
}
|
||||
|
||||
//病友圈列表
|
||||
export const PatientCircleList=async (data)=>{
|
||||
return await http.get('/health/user/sickCircle/v1/findSickCircleList',{params:{...data}})
|
||||
}
|
||||
|
||||
//查询病友圈详情
|
||||
export const PatientCircleDetail=async (data)=>{
|
||||
return await http.get('/health/user/sickCircle/v1/findSickCircleInfo',{params:{...data}})
|
||||
}
|
||||
|
||||
//查询医生明细 就是问诊中的医生列表的哪一个医生的详情信息
|
||||
export const DoctorDetail=async(data)=>{
|
||||
return await http.get('/health/user/inquiry/v1/findDoctorInfo',{params:{...data}})
|
||||
|
||||
}
|
||||
//病友圈 查询
|
||||
export const PatientsSearch=async (data)=>{
|
||||
// /health/user/sickCircle/v1/searchSickCircle
|
||||
// return data
|
||||
return await http.get('/health/user/sickCircle/v1/searchSickCircle',{params:{...data}})
|
||||
}
|
||||
|
||||
//病友圈添加喜欢
|
||||
export const addLike=async(data)=>{
|
||||
// return {...data}
|
||||
return await http.post('/health/user/verify/v1/addUserSickCollection',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//病友圈取消喜欢
|
||||
export const cancelLike=async (data)=>{
|
||||
return await http.delete('/health/user/verify/v1/cancelSickCollection',{params:{...data}},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//病友圈评论
|
||||
export const patientsPl=async (data)=>{
|
||||
return await http.post('/health/user/sickCircle/verify/v1/publishComment',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//查询病友圈评论的列表
|
||||
export const patientsPlList=async(data)=>{
|
||||
return await http.get('/health/user/sickCircle/v1/findSickCircleCommentList',{params:{...data}})
|
||||
}
|
||||
|
||||
//关注医生
|
||||
export const likeDoctor=async(data)=>{
|
||||
return await http.post('/health/user/inquiry/verify/v1/followDoctor',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//取关医生
|
||||
export const noLikeDoctor=async (data)=>{
|
||||
return await http.delete('/health/user/inquiry/verify/v1/cancelFollow',{params:{...data}},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//发布病友圈
|
||||
export const postPatientCircle=async(data)=>{
|
||||
// return data
|
||||
return await http.post('/health/user/sickCircle/verify/v1/publishSickCircle',data,{
|
||||
'Content-Type': 'application/json',
|
||||
})
|
||||
}
|
||||
|
||||
//采纳评论区
|
||||
export const adoptPl=async(data)=>{
|
||||
// return data
|
||||
return await http.put('/health/user/sickCircle/verify/v1/adoptionProposal',data,{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//上传图片
|
||||
export const upPicture=async(data)=>{
|
||||
return await http.post('/health/user/sickCircle/verify/v1/uploadSickCirclePicture',data,{
|
||||
headers: {
|
||||
'Content-type' : 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//我的钱包
|
||||
export const MyMoney=async()=>{
|
||||
return await http.get('/health/user/verify/v1/findUserWallet')
|
||||
}
|
||||
|
||||
//查询钱列表
|
||||
export const MoneyList=async (data)=>{
|
||||
return await http.get('/health/user/verify/v1/findUserConsumptionRecordList',{params:{...data}})
|
||||
}
|
||||
|
||||
//收藏健康咨询
|
||||
export const collectHealth=async(data)=>{
|
||||
return await http.get('/health/user/verify/v1/findUserInfoCollectionList',{params:{...data}})
|
||||
// return data
|
||||
}
|
||||
|
||||
// 收藏健康视频
|
||||
export const collectVideo=async(data)=>{
|
||||
return await http.get('/health/user/verify/v1/findVideoCollectionList',{params:{...data}})
|
||||
}
|
||||
|
||||
//收藏病友圈
|
||||
export const collectCircle=async(data)=>{
|
||||
return await http.get('/health/user/verify/v1/findUserSickCollectionList',{params:{...data}})
|
||||
}
|
||||
|
||||
//查询我的被采纳的建议
|
||||
export const adoptedSuggestion=async(data)=>{
|
||||
return await http.get('/health/user/verify/v1/findMyAdoptedCommentList',{params:{...data}})
|
||||
}
|
||||
|
||||
//充值
|
||||
export const topUp=async(data)=>{
|
||||
// return data
|
||||
return await http.post('/health/user/verify/v1/recharge',data,{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
//查询档案
|
||||
export const fileList=async()=>{
|
||||
return await http.get('/health/user/verify/v1/findUserArchives')
|
||||
}
|
||||
|
||||
|
||||
//保存档案
|
||||
export const saveFile=async(data)=>{
|
||||
return await http.post('/health/user/verify/v1/addUserArchives',{...data})
|
||||
}
|
||||
|
||||
//咨询医生
|
||||
export const consultDoctor=async(data)=>{
|
||||
// return data
|
||||
return await http.put('/health/user/inquiry/verify/v1/consultDoctor',{...data},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询历史问诊
|
||||
export const historyInquiry=async (data)=>{
|
||||
// return data
|
||||
return await http.get('/health/user/inquiry/verify/v1/findHistoryInquiryRecord',{params:{...data}})
|
||||
}
|
||||
|
||||
//用户评论问诊服务
|
||||
export const plInquiry=async(data)=>{
|
||||
// return data
|
||||
return await http.put('/health/user/inquiry/verify/v1/evaluationInquiry',data,{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询用户关注医生列表
|
||||
export const followDoctorList=async (data)=>{
|
||||
return await http.get('/health/user/verify/v1/findUserDoctorFollowList',{params:{...data}},{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询当前问诊
|
||||
export const currentInterview=async()=>{
|
||||
return await http.get('/health/user/inquiry/verify/v1/findCurrentInquiryRecord')
|
||||
}
|
||||
|
||||
//结束问诊
|
||||
export const endInterview=async(data)=>{
|
||||
return await http.put('/health/user/inquiry/verify/v1/endInquiry',data,{
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//查询健康讲堂类名
|
||||
export const videoCategory=async()=>{
|
||||
return await http.get('/health/user/video/v1/findVideoCategoryList')
|
||||
}
|
||||
|
||||
//获取具体视频
|
||||
export const concreteVideo=async(data)=>{
|
||||
// return data
|
||||
return await http.get('/health/user/video/v1/findVideoVoList',{params:{...data}})
|
||||
}
|
||||
|
||||
//查询我的病友圈
|
||||
export const myCommunity=async(data)=>{
|
||||
return await http.get('/health/user/sickCircle/verify/v1/findMySickCircleList',{params:{...data}})
|
||||
}
|
||||
|
||||
//查询我的病友圈中的评论列表
|
||||
export const myCommunityList=async(data)=>{
|
||||
// return data
|
||||
return await http.get('/health/user/sickCircle/verify/v1/findMySickCircleCommentList',{params:{...data}})
|
||||
}
|
|
@ -1,12 +1,29 @@
|
|||
import axios from "axios";
|
||||
import { Toast } from "vant";
|
||||
// axios.defaults.baseURL='http://10.59.9.18/'
|
||||
const http = axios.create({
|
||||
baseURL: 'https://some-domain.com/api/',
|
||||
timeout: 1000,
|
||||
headers: {'X-Custom-Header': 'foobar'}
|
||||
// baseURL: 'https://some-domain.com/api/',
|
||||
timeout: 9000,
|
||||
// headers: {'X-Custom-Header': 'foobar'}
|
||||
// baseURL:'http://10.59.9.18'
|
||||
});
|
||||
// 添加请求拦截器
|
||||
http.interceptors.request.use(function (config) {
|
||||
// 在发送请求之前做些什么
|
||||
// config.headers.userId=432
|
||||
// console.log(location.pathname);
|
||||
|
||||
if(location.pathname.includes('/my/myPatientCircle/myPatientCommentList')||location.pathname.includes('/my/myPatientCircle/myPatientIndex')||location.pathname.includes('/vedio')||location.pathname.includes('/consultation/consultationServer/consultationChat')||location.pathname.includes('/consultation/myConsultation/MyConsultationCurrent')||location.pathname.includes('/my/myAttention')||
|
||||
location.pathname.includes('/consultation/myConsultation/MyConsultationComment')||
|
||||
location.pathname.includes('/consultation/myConsultation/MyConsultationHistory')||location.pathname.includes('/wallet/recharge')||location.pathname.includes('/my/myProFile/myProFileIndex')||location.pathname.includes('/my/myProFile/myProFileAddModifyProfile')||location.pathname.includes('/wallet/myWallet')||location.pathname.includes('/my/myCollection')||location.pathname.includes('/wallet/myWallet')||location.pathname.includes('/patientCircle/patientWrite')||location.pathname.includes('/patientCircle/patientDetail')||location.pathname.includes('consultation/consultationServer/consultationCDetail')){
|
||||
config.headers.userId=JSON.parse(localStorage.getItem('userId'))
|
||||
config.headers.sessionId=JSON.parse(localStorage.getItem('sessionId'))+''
|
||||
}
|
||||
Toast.loading({
|
||||
message: '加载中...',
|
||||
forbidClick: true,
|
||||
loadingType: 'spinner',
|
||||
});
|
||||
return config;
|
||||
}, function (error) {
|
||||
// 对请求错误做些什么
|
||||
|
@ -16,6 +33,7 @@ http.interceptors.request.use(function (config) {
|
|||
// 添加响应拦截器
|
||||
http.interceptors.response.use(function (response) {
|
||||
// 对响应数据做点什么
|
||||
Toast.clear()
|
||||
return response;
|
||||
}, function (error) {
|
||||
// 对响应错误做点什么
|
||||
|
|
26
src/main.js
|
@ -3,13 +3,35 @@ import App from './App.vue'
|
|||
import router from './router'
|
||||
import store from './store'
|
||||
import Vant from 'vant';
|
||||
// import './assets/flexible'
|
||||
import 'vant/lib/index.css';
|
||||
import "normalize.css/normalize.css"
|
||||
import instance from "./http/index"
|
||||
import http from "./http/index"
|
||||
import TabBar from './components/TabBar/TabBar.vue'
|
||||
// 头部
|
||||
import MyHeader from './components/MyHeader/MyHeader.vue'
|
||||
// 首页的标题
|
||||
import HomeTitle from './components/HomeTitle/Title.vue'
|
||||
//详情页顶部的红色标题
|
||||
import DetailRedTitle from './components/DetailRedTitle/index.vue'
|
||||
//带返回的头部
|
||||
import Back from './components/BackAndTit/index.vue'
|
||||
|
||||
Vue.prototype.$http=instance
|
||||
//设置中
|
||||
import Set from './components/Set/index.vue'
|
||||
|
||||
|
||||
Vue.component('TabBar',TabBar)
|
||||
|
||||
Vue.prototype.$http=http
|
||||
Vue.use(Vant);
|
||||
Vue.config.productionTip = false
|
||||
// 注册组件
|
||||
Vue.component('MyHeader',MyHeader)
|
||||
Vue.component('MyTitle',HomeTitle)
|
||||
Vue.component('RedTitle',DetailRedTitle)
|
||||
Vue.component('Back',Back)
|
||||
Vue.component('Set',Set)
|
||||
|
||||
new Vue({
|
||||
router,
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
import {JSEncrypt} from 'jsencrypt'
|
||||
export const mixinTime={
|
||||
data(){
|
||||
return{
|
||||
publicKey:`MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuQd3gESx7VdIyRYUWjmjg61VIgUK6F45hClmqUMZ7xNiT5rlLM6e78osMvBF/yP7cVm7pK+NMCDWoVS1/AETpxJYqUlIC77ZAU8/MnP96IupnJL87vqhPcpdv7+VqLM38ls++yuD/F/HSoOQTv/leJh+dgE/4EYAJjOWFAbYfXwIDAQAB`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeTime(time){
|
||||
const timestamp = time; // 待转换的时间戳
|
||||
const date = new Date(timestamp); // 根据时间戳创建Date对象
|
||||
const year = date.getFullYear(); // 获取年份
|
||||
const month = date.getMonth() + 1; // 获取月份,需要加1
|
||||
const day = date.getDate(); // 获取日期
|
||||
const hour = date.getHours(); // 获取小时
|
||||
const minute = date.getMinutes(); // 获取分钟
|
||||
const second = date.getSeconds(); // 获取秒数
|
||||
|
||||
const formattedDate = `${year}-${month}-${day} ${hour}:${minute}:${second}`; // 拼接成格式化后的日期字符串
|
||||
return formattedDate
|
||||
},
|
||||
changeTimeTwo(data){
|
||||
let date = new Date(data+'');
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1; // getMonth()返回值是0~11
|
||||
let day = date.getDate();
|
||||
let result = year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day);
|
||||
return result
|
||||
},
|
||||
Encipher(data){
|
||||
// 创建JSEncrypt对象
|
||||
const encryptor=new JSEncrypt()
|
||||
// 设置公钥
|
||||
encryptor.setPublicKey(this.publicKey)
|
||||
// 对数据进行加密
|
||||
return encryptor.encrypt(data)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -12,25 +12,33 @@ const routes = [
|
|||
// 一级home页面
|
||||
{
|
||||
path: '/home',
|
||||
name: 'home',
|
||||
component: () => import('../views/home/home.vue'),
|
||||
children: [{
|
||||
children: [
|
||||
{
|
||||
path: '/',
|
||||
name:"home",
|
||||
component: () => import('../views/home/default/default.vue'),
|
||||
},
|
||||
{
|
||||
path: 'information',
|
||||
name: 'information',
|
||||
component: () => import('../views/home/information/information.vue'),
|
||||
children: [{
|
||||
path: 'informationDetail',
|
||||
path: 'informationDetail/:id',
|
||||
name: 'informationDetail',
|
||||
component: () => import('../views/home/information/detail/detail.vue'),
|
||||
|
||||
}]
|
||||
},
|
||||
},
|
||||
{
|
||||
path: 'knowledgeBase',
|
||||
name: 'knowledgeBase',
|
||||
component: () => import('../views/home/knowledgeBase/knowledgeBase.vue'),
|
||||
children: [{
|
||||
path: 'knowledgeDetail',
|
||||
path: '/',
|
||||
component: () => import('../views/home/knowledgeBase/bigPage/index.vue'),
|
||||
},{
|
||||
path: 'knowledgeDetail/:code/:id/:name',
|
||||
name: 'knowledgeDetail',
|
||||
component: () => import('../views/home/knowledgeBase/detail/detail.vue'),
|
||||
|
||||
|
@ -56,12 +64,12 @@ const routes = [
|
|||
name: 'consultationServer',
|
||||
component: () => import('../views/consultation/consultationServer/consultationServer.vue'),
|
||||
children: [{
|
||||
path: 'consultationChat',
|
||||
path: 'consultationChat/:id/:name',
|
||||
name: 'consultationChat',
|
||||
component: () => import('../views/consultation/consultationServer/chat/chat.vue')
|
||||
},
|
||||
{
|
||||
path: 'consultationCommentList',
|
||||
path: 'consultationCommentList/:id',
|
||||
name: 'consultationCommentList',
|
||||
component: () => import('../views/consultation/consultationServer/commentList/commentList.vue')
|
||||
},
|
||||
|
@ -71,7 +79,7 @@ const routes = [
|
|||
component: () => import('../views/consultation/consultationServer/doctorList/doctorList.vue')
|
||||
},
|
||||
{
|
||||
path: 'consultationCDetail',
|
||||
path: 'consultationCDetail/:id',
|
||||
name: 'consultationCDetail',
|
||||
component: () => import('../views/consultation/consultationServer/detail/detail.vue')
|
||||
},
|
||||
|
@ -152,8 +160,13 @@ const routes = [
|
|||
path: '/patientCircle',
|
||||
name: 'patientCircle',
|
||||
component: () => import('../views/patientCircle/patientCircle.vue'),
|
||||
children: [{
|
||||
path: 'patientDetail',
|
||||
children: [
|
||||
{
|
||||
path: '/',
|
||||
component: () => import('../views/patientCircle/Default/index.vue')
|
||||
},
|
||||
{
|
||||
path: 'patientDetail/:id',
|
||||
name: 'patientDetail',
|
||||
component: () => import('../views/patientCircle/detail/detail.vue')
|
||||
}, {
|
||||
|
@ -161,7 +174,10 @@ const routes = [
|
|||
name: 'patientSearch',
|
||||
component: () => import('../views/patientCircle/search/search.vue'),
|
||||
children: [{
|
||||
path: 'patientResult',
|
||||
path: '/',
|
||||
component: () => import('../views/patientCircle/search/default/index.vue'),
|
||||
},{
|
||||
path: 'patientResult/:name',
|
||||
name: 'patientResult',
|
||||
component: () => import('../views/patientCircle/search/result/result.vue'),
|
||||
}]
|
||||
|
@ -175,7 +191,7 @@ const routes = [
|
|||
// -------------------------视频-------------------------
|
||||
|
||||
{
|
||||
path: 'vedio',
|
||||
path: '/vedio',
|
||||
name: 'vedio',
|
||||
component: () => import('../views/vedio/vedio.vue')
|
||||
},
|
||||
|
@ -184,6 +200,7 @@ const routes = [
|
|||
{
|
||||
path: '/my',
|
||||
name: 'my',
|
||||
component:() => import('../views/my/my.vue'),
|
||||
children: [{
|
||||
path: 'myAdoptIdea',
|
||||
name: 'myAdoptIdea',
|
||||
|
@ -209,7 +226,7 @@ const routes = [
|
|||
name: 'myIndex',
|
||||
component: () => import('../views/my/index/index.vue')
|
||||
}, {
|
||||
path: 'myLogin',
|
||||
path: 'login',
|
||||
name: 'myLogin',
|
||||
component: () => import('../views/my/login/login.vue')
|
||||
}, {
|
||||
|
@ -243,6 +260,7 @@ const routes = [
|
|||
{
|
||||
path: 'myPatientCircle',
|
||||
name: 'myPatientCircle',
|
||||
component:()=>import('../views/my/myPatientCircle/index.vue'),
|
||||
children: [{
|
||||
path: 'myPatientCommentList',
|
||||
name: 'myPatientCommentList',
|
||||
|
@ -258,6 +276,7 @@ const routes = [
|
|||
{
|
||||
path: 'myProFile',
|
||||
name: 'myProFile',
|
||||
component:()=>import('../views/my/proFile/index.vue'),
|
||||
children: [{
|
||||
path: 'myProFileAddModifyProfile',
|
||||
name: 'myProFileAddModifyProfile',
|
||||
|
|
|
@ -5,10 +5,26 @@ Vue.use(Vuex)
|
|||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
tabTopTitle:0,
|
||||
//常见病症的选中下标
|
||||
tabConLeftActive:0,
|
||||
//常见药品的选中下标
|
||||
tabConRightActive:0,
|
||||
},
|
||||
getters: {
|
||||
},
|
||||
mutations: {
|
||||
changeTabTopTitle(state,payload){
|
||||
state.tabTopTitle=payload
|
||||
},
|
||||
//改变常见病症的选中下标
|
||||
changTabConLeftActive(state,payload){
|
||||
state.tabConLeftActive=payload
|
||||
},
|
||||
//改变常见药品的选中下标
|
||||
changeTabConRightActive(state,payload){
|
||||
state.tabConRightActive=payload
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
consultation<router-view></router-view>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -1,13 +1,97 @@
|
|||
<template>
|
||||
<div>chat</div>
|
||||
<div class="bigBox">
|
||||
<Back :con="name" url="/consultation/consultationServer/consultationDoctorList" class="top"></Back>
|
||||
<div class="main">
|
||||
<div class="con">
|
||||
|
||||
</div>
|
||||
<div class="bot">
|
||||
<img src="../../../../assets/images/icon/语音.png" alt="">
|
||||
<input type="text">
|
||||
<p>+</p>
|
||||
<div class="btn">发送</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import '../../../../assets/images/icon'
|
||||
import {consultDoctor} from '../../../../getData/index'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
name:null,
|
||||
id:null
|
||||
}
|
||||
},
|
||||
created(){
|
||||
// name
|
||||
this.name=this.$route.params.name
|
||||
this.id=this.$route.params.id
|
||||
console.log(this.id);
|
||||
// console.log(this.$route.params.id);
|
||||
// console.log(this.$route.params.name);
|
||||
},
|
||||
methods:{
|
||||
async getDoctor(){
|
||||
let {data}=await consultDoctor({doctorId:this.id})
|
||||
console.log(data);
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getDoctor()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
background: #fff;
|
||||
}
|
||||
.main{
|
||||
flex: 1;
|
||||
margin-top: 10px;
|
||||
background: #fff;
|
||||
.bot{
|
||||
display: flex;
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
// background: pink;
|
||||
// border-top: 1px solid #ededed;
|
||||
background: #ededed;
|
||||
width: 100%;
|
||||
img{
|
||||
margin: 0 10px;
|
||||
}
|
||||
input{
|
||||
margin: 0 10px;
|
||||
}
|
||||
p{
|
||||
line-height: 30px;
|
||||
margin: 0 10px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.btn{
|
||||
|
||||
// color: rgb( 233,233,233);
|
||||
color: #fff;
|
||||
background: rgb(48,135,234);
|
||||
font-weight: bold;
|
||||
padding: 0 14px;
|
||||
line-height: 30px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,74 @@
|
|||
<template>
|
||||
<div>
|
||||
commentList
|
||||
<van-nav-bar
|
||||
title="评论列表"
|
||||
left-text="返回"
|
||||
left-arrow
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<div class="pl-box">
|
||||
<div v-for="(item,index) in list" :key="index" class="everyBox">
|
||||
<div class="user">
|
||||
<img :src="item.headPic" alt="">
|
||||
<span>{{item.nickName}}</span>
|
||||
</div>
|
||||
<p>{{item.content}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {DoctorDetail} from '../../../../getData/index'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
id:0,
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getId()
|
||||
},
|
||||
mounted(){
|
||||
this.getCon()
|
||||
},
|
||||
methods:{
|
||||
onClickLeft(){
|
||||
this.$router.push(`/consultation/consultationServer/consultationCDetail/${this.id}`)
|
||||
},
|
||||
getId(){
|
||||
this.id=this.$route.params.id
|
||||
console.log(this.id);
|
||||
},
|
||||
async getCon(){
|
||||
let {data}=await DoctorDetail({doctorId:this.id})
|
||||
this.list=data.result.commentList
|
||||
console.log(this.list);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.everyBox{
|
||||
height: 100px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding: 10px 20px;
|
||||
.user{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
span{
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,5 +1,7 @@
|
|||
<template>
|
||||
<div>ftgbjnkml,<router-view></router-view></div>
|
||||
<div>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
|
@ -1,13 +1,266 @@
|
|||
<template>
|
||||
<div>cons detail</div>
|
||||
<div class="bigBox">
|
||||
<van-nav-bar
|
||||
title="医生详情"
|
||||
left-text="返回"
|
||||
left-arrow
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<div class="bigMain">
|
||||
<div class="main">
|
||||
<div class="main-left">
|
||||
<img :src="list.imagePic" alt="">
|
||||
</div>
|
||||
<div class="main-right">
|
||||
<div class="div-one">
|
||||
<p>{{list.doctorName}}</p>
|
||||
<span>{{list.jobTitle}}</span>
|
||||
<div class="follow-box" @click="handleDoctor">
|
||||
<img src="../../../../assets/images/icon/common_icon_attention_large_n.png" v-if="list.followFlag==2" alt="">
|
||||
<img src="../../../../assets/images/icon/common_icon_attention_large_s.png" alt="" v-if="list.followFlag==1">
|
||||
</div>
|
||||
</div>
|
||||
<p class="hospital">{{list.inauguralHospital}}</p>
|
||||
<div class="div-two">
|
||||
<p>好评率{{list.praise}}</p>
|
||||
<p>患者服务数{{list.serverNum}}</p>
|
||||
</div>
|
||||
<div class="gif">
|
||||
<div class="text">他收到的礼物</div>
|
||||
<div class="img-box">
|
||||
<div v-for="(item,index) in list.doctorReceiveGiftList" :key="index">
|
||||
<img :src="item.giftPic" alt="">
|
||||
<span>{{item.receiveNum}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bot">
|
||||
<MyTitle con="个人介绍" class="compTit"/>
|
||||
<p>{{list.personalProfile}}</p>
|
||||
<MyTitle con="擅长领域" class="compTit"/>
|
||||
<p>{{list.goodField}}</p>
|
||||
<MyTitle con="用户评价" class="compTit"/>
|
||||
<div>
|
||||
<div v-for="(item,index) in list.commentList" :key="index" class="pl">
|
||||
<div class="user">
|
||||
<img :src="item.headPic" alt="">
|
||||
<span>{{item.nickName}}</span>
|
||||
</div>
|
||||
<p>{{item.content}}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="pl-box">
|
||||
<p @click="goMore">点击查看更多评论</p>
|
||||
</div>
|
||||
<div class="bot-last">
|
||||
<div>
|
||||
{{list.servicePrice}}元子/次
|
||||
</div>
|
||||
<div>立即咨询</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import '../../../../assets'
|
||||
import {DoctorDetail,likeDoctor,noLikeDoctor} from '../../../../getData/index'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
id:0,
|
||||
// 1代表关注 2代表未关注
|
||||
list:{}
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getId()
|
||||
},
|
||||
methods:{
|
||||
//关注取关医生
|
||||
async handleDoctor(){
|
||||
if(this.list.followFlag==2){
|
||||
let data=await likeDoctor({doctorId:this.list.doctorId})
|
||||
console.log(data);
|
||||
this.list.followFlag=1
|
||||
}else{
|
||||
let data=await noLikeDoctor({doctorId:this.list.doctorId})
|
||||
console.log(data);
|
||||
this.list.followFlag=2
|
||||
}
|
||||
},
|
||||
goMore(){
|
||||
this.$router.push(`/consultation/consultationServer/consultationCommentList/${this.id}`)
|
||||
},
|
||||
onClickLeft(){
|
||||
this.$router.push('/consultation/consultationServer/consultationDoctorList')
|
||||
},
|
||||
getId(){
|
||||
// console.log(this.$route.params.id);
|
||||
this.id=this.$route.params.id
|
||||
},
|
||||
async getCon(){
|
||||
let {data}=await DoctorDetail({doctorId:this.id})
|
||||
console.log(data);
|
||||
this.list=data.result
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getCon()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;;
|
||||
// background: #ccc;
|
||||
background: rgb(244,244,244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.van-nav-bar{
|
||||
width: 100%;
|
||||
height: 46px;
|
||||
}
|
||||
.bigMain{
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.main{
|
||||
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 20px;
|
||||
.main-left{
|
||||
img{
|
||||
width: 128px;
|
||||
height: 160px;
|
||||
}
|
||||
}
|
||||
.main-right{
|
||||
background: #fff;
|
||||
width: 200px;
|
||||
padding: 10px;
|
||||
|
||||
.div-one{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 30px;
|
||||
align-items: center;
|
||||
p{
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
span{
|
||||
font-size: 12px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
.follow-box{
|
||||
padding-left: 10px;
|
||||
padding-top: 10px;
|
||||
img{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.hospital{
|
||||
font-size: 13px;
|
||||
line-height: 25px;
|
||||
text-align: left;
|
||||
}
|
||||
.div-two{
|
||||
display: flex;
|
||||
font-size: 13px;
|
||||
font-size: 12px;
|
||||
justify-content: space-between;
|
||||
line-height: 30px;
|
||||
}
|
||||
.gif{
|
||||
.text{
|
||||
border-left: 3px solid rgb(48,135,234);
|
||||
text-align: left;
|
||||
font-size: 12px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.img-box{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
div{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
// margin-top: 30px;
|
||||
text-align: left;
|
||||
p{
|
||||
padding: 0 10px;
|
||||
}
|
||||
.compTit{
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.pl{
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding: 0 10px;
|
||||
.user{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-top: 10px;
|
||||
span{
|
||||
padding-left: 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
p{
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.pl-box{
|
||||
padding: 20px 0;
|
||||
border-bottom: 1px solid #ccc;
|
||||
color: rgb(32, 122, 196);
|
||||
}
|
||||
.bot-last{
|
||||
height: 50px;
|
||||
display: flex;
|
||||
div:nth-child(1){
|
||||
flex: 1;
|
||||
line-height: 50px;
|
||||
font-size: 20px;
|
||||
}
|
||||
div:nth-child(2){
|
||||
width: 125px;
|
||||
color: #fff;
|
||||
line-height: 50px;
|
||||
background: rgb(48,135,234);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,287 @@
|
|||
<template>
|
||||
<div>
|
||||
doctorList
|
||||
<div class="big">
|
||||
<MyHeader/>
|
||||
<div class="bigTop">
|
||||
<ul class="top">
|
||||
<li v-for="(item,index) in topList" :key="index" :class="tabActive==index?'active':''" @click="handleTabTop(index,item.id)">{{item.departmentName}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 选择 -->
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="value1" :options="option1" @change="changeMenuOne(value1)"/>
|
||||
<van-dropdown-item v-model="value2" :options="option2" @change="changeMenuTwo(value2)"/>
|
||||
</van-dropdown-menu>
|
||||
<!-- 主体 -->
|
||||
<div class="bigMain">
|
||||
<div class="main">
|
||||
<img :src="mainConData.imagePic" alt="">
|
||||
<div class="mainCon">
|
||||
<div class="conOne">
|
||||
<h4>{{mainConData.doctorName}}</h4>
|
||||
<p>{{mainConData.jobTitle}}</p>
|
||||
</div>
|
||||
<div class="conTwo">
|
||||
<span>{{mainConData.inauguralHospital}}</span>
|
||||
|
||||
<img src="../../../../assets/images/icon/common_icon_more_n.png" alt="" @click="goDetail(mainConData.doctorId)">
|
||||
</div>
|
||||
<div class="conThree">
|
||||
<span>好评率:{{mainConData.praise}}</span>
|
||||
<span>服务患者数量:{{mainConData.serverNum}}</span>
|
||||
</div>
|
||||
<div class="conFour">
|
||||
<div>{{mainConData.servicePrice}}元/次</div>
|
||||
<div class="btn" @click="$router.push(`/consultation/consultationServer/consultationChat/${mainConData.doctorId}/${mainConData.doctorName}`)">立即咨询</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 底部tab切换 -->
|
||||
<div class="botDoctor">
|
||||
<div v-for="(item,index) in doctorList" @click="handleTabBot(index)" :key="index" :class="botActive===index?'active':''">
|
||||
<img :src="item.imagePic">
|
||||
<p>{{item.doctorName}}</p>
|
||||
</div>
|
||||
<div class="icon" @click="changePage">>></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {Toast} from 'vant'
|
||||
import {getMenu,doctor} from '../../../../getData/index'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
topList:[],
|
||||
doctorId:7,
|
||||
tabActive:0,
|
||||
value1: 1,
|
||||
value2: 'aa',
|
||||
botActive:0,
|
||||
botPage:1,
|
||||
condition:1,
|
||||
sortBy:'',
|
||||
option1: [
|
||||
{ text: '综合', value: 1 },
|
||||
{ text: '好评', value: 2 },
|
||||
{ text: '咨询数',value:3 },
|
||||
{ text: '价格', value: 4 },
|
||||
],
|
||||
option2: [
|
||||
{ text: '默认价格', value: 'aa' },
|
||||
{ text: '价格降序', value: 1 },
|
||||
],
|
||||
doctorList:[],
|
||||
mainConData:{}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// this.mainConData=this.doctorList[index]
|
||||
goDetail(id){
|
||||
this.$router.push(`/consultation/consultationServer/consultationCDetail/${id}`)
|
||||
// console.log(id);
|
||||
},
|
||||
//切换第一个菜单
|
||||
changeMenuOne(value){
|
||||
this.condition=value
|
||||
this.sortBy=''
|
||||
this.getDoctor()
|
||||
},
|
||||
//切换第二个菜单
|
||||
changeMenuTwo(value){
|
||||
this.sortBy=value
|
||||
if(this.sortBy===2){
|
||||
this.getDoctor()
|
||||
}
|
||||
|
||||
},
|
||||
//顶部的 内科 眼科
|
||||
handleTabTop(index,id){
|
||||
this.tabActive=index
|
||||
this.doctorId=id
|
||||
this.condition=1
|
||||
this.sortBy=''
|
||||
this.botPage=1
|
||||
this.value1= 1,
|
||||
this.value2= 'aa',
|
||||
this.getDoctor()
|
||||
},
|
||||
//底部的Tab切换
|
||||
handleTabBot(index){
|
||||
this.botActive=index
|
||||
this.mainConData=this.doctorList[index]
|
||||
},
|
||||
changePage(){
|
||||
this.botPage++
|
||||
this.botActive=0
|
||||
// if(this.botPage>5){
|
||||
// Toast.fail('已经加载完了')
|
||||
// return
|
||||
// }else{
|
||||
// this.getDoctor()
|
||||
// // console.log(this.botPage);
|
||||
// }
|
||||
this.getDoctor()
|
||||
|
||||
},
|
||||
async getTopList(){
|
||||
let {data}=await getMenu()
|
||||
// console.log(data.result);
|
||||
this.topList=data.result
|
||||
},
|
||||
async getDoctor(){
|
||||
let {data}=await doctor({deptId:this.doctorId,condition:this.condition,sortBy:this.sortBy,page:this.botPage,count:3})
|
||||
console.log(data.result);
|
||||
if(data.result.length){
|
||||
this.doctorList=data.result
|
||||
this.mainConData=data.result[0];
|
||||
}else{
|
||||
Toast.fail('已经加载完了')
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getTopList()
|
||||
this.getDoctor()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.big{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.bigTop{
|
||||
width: 100%;
|
||||
overflow-x: scroll;
|
||||
height: 40px;
|
||||
line-height: 35px;
|
||||
.top{
|
||||
display: flex;
|
||||
width: 200%;
|
||||
.active{
|
||||
color: red;
|
||||
}
|
||||
li{
|
||||
width: 90px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bigMain{
|
||||
margin-top: 20px;
|
||||
width:273px ;
|
||||
height: 330px;
|
||||
margin: 20px auto;
|
||||
.main{
|
||||
border-radius: 20px;
|
||||
position: relative;
|
||||
img{
|
||||
border-radius: 20px;
|
||||
|
||||
}
|
||||
.mainCon{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
background: #fff;
|
||||
p,span{
|
||||
font-size: 13px;
|
||||
}
|
||||
.conOne{
|
||||
display: flex;
|
||||
padding-left: 20px;
|
||||
margin-top: 15px;
|
||||
p{
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
.conTwo{
|
||||
padding-left: 20px;
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
img{
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
margin-right: 30px;
|
||||
}
|
||||
}
|
||||
.conThree{
|
||||
padding-left: 20px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
span:nth-child(2){
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
.conFour{
|
||||
border-top:1px solid #ccc ;
|
||||
display: flex;
|
||||
height: 40px;
|
||||
align-items: center;
|
||||
// padding-top: 10px;
|
||||
// margin-top: 5px;
|
||||
div:nth-child(1){
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.btn{
|
||||
background: rgb(48,135,234);
|
||||
height: 100%;
|
||||
line-height: 40px;
|
||||
color: #fff;
|
||||
padding: 0 5px;
|
||||
border-radius: 0 0 10px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.botDoctor{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
div{
|
||||
border-radius: 10px;
|
||||
img{
|
||||
width: 90px;
|
||||
height: 100px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
p{
|
||||
position: absolute;
|
||||
bottom: 1px;
|
||||
text-align: center;
|
||||
width: 90px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
//
|
||||
background: rgb(0, 0, 0,.5);
|
||||
border-radius: 0 0 10px 10px;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
}
|
||||
.active{
|
||||
p{
|
||||
background: rgb(89,156,225);
|
||||
}
|
||||
|
||||
}
|
||||
.icon{
|
||||
height: 100%;
|
||||
line-height: 104px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
|
@ -1,13 +1,136 @@
|
|||
<template>
|
||||
<div>comment</div>
|
||||
<div class="bigBox">
|
||||
<Back con="评价问诊" url="/consultation/myConsultation/MyConsultationHistory" class="top"></Back>
|
||||
<div class="main">
|
||||
<div class="one">
|
||||
<MyTitle con="文字评价" class="tit"></MyTitle>
|
||||
<van-field
|
||||
v-model="message"
|
||||
rows="6"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="200"
|
||||
placeholder="请输入留言"
|
||||
show-word-limit
|
||||
/>
|
||||
</div>
|
||||
<div class="two">
|
||||
<MyTitle con="星级评价" class="tit"></MyTitle>
|
||||
<div class="con">
|
||||
<p>医生专业度</p>
|
||||
<van-rate v-model="value1" icon="like" void-icon="like-o" />
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>服务满意度</p>
|
||||
<van-rate v-model="value2" icon="like" void-icon="like-o" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="bot">
|
||||
<div class="up" @click="$router.push({path:'/consultation/myConsultation/MyConsultationHistory'})">返回</div>
|
||||
<div class="ok" @click="ok">完成</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {plInquiry} from '@/getData/index.js'
|
||||
import { Toast } from 'vant'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
message:'',
|
||||
value1:0,
|
||||
value2:0,
|
||||
id:null,
|
||||
recordId:null
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.id=this.$route.query.id
|
||||
this.recordId=this.$route.query.recordId
|
||||
// console.log(this.$route.query.id);
|
||||
// console.log(this.$route.query.recordId);
|
||||
},
|
||||
methods:{
|
||||
ok(){
|
||||
let res={
|
||||
inquiryRecordId:this.recordId*1,
|
||||
doctorId:this.id*1,
|
||||
evaluate:this.message,
|
||||
majorDegree:this.value1,
|
||||
satisfactionDegree:this.value2
|
||||
}
|
||||
this.submit(res)
|
||||
},
|
||||
async submit(res){
|
||||
let {data}=await plInquiry(res)
|
||||
if(data.status=='0000'){
|
||||
Toast.success(data.message)
|
||||
this.$router.push('/consultation/myConsultation/MyConsultationHistory')
|
||||
}
|
||||
console.log(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
// background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
// background: #fff;
|
||||
border-bottom: 1px solid rgb(244, 244, 244);
|
||||
}
|
||||
.main{
|
||||
flex: 1;
|
||||
overflow: scroll;
|
||||
margin-top: 10px;
|
||||
.tit{
|
||||
margin-left: 10px;
|
||||
}
|
||||
.one{
|
||||
border-bottom: 3px solid #ededed;
|
||||
}
|
||||
.two{
|
||||
margin-top: 10px;
|
||||
padding-bottom: 30px;
|
||||
border-bottom: 3px solid #ededed;
|
||||
.con{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 10px;
|
||||
margin-top: 20px;
|
||||
p{
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin-top: 150px;
|
||||
color: #fff;
|
||||
.up{
|
||||
background:rgb(135,135,135);
|
||||
padding: 8px 15px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.ok{
|
||||
background:rgb(38,112,229);
|
||||
padding: 8px 15px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,108 @@
|
|||
<template>
|
||||
<div>
|
||||
current
|
||||
<div class="bigBox">
|
||||
<Back con="当前问诊" url="/my/myIndex" class="top"></Back>
|
||||
<div class="main" v-if="!list">
|
||||
<van-empty description="空空如也" />
|
||||
</div>
|
||||
<div class="main1" v-else>
|
||||
<img :src="list.imagePic" alt="">
|
||||
<div class="con">
|
||||
<h4>{{list.doctorName}}</h4>
|
||||
<p>{{list.jobTitle}}</p>
|
||||
<p>{{list.department}}</p>
|
||||
<p>问诊时间{{changeTime(list.inquiryTime)}}</p>
|
||||
</div>
|
||||
<div class="bot">
|
||||
<div>继续问诊</div>
|
||||
<div @click="no">结束问诊</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {currentInterview,endInterview} from '@/getData/index.js'
|
||||
import {mixinTime} from '@/mixins/mixins'
|
||||
export default {
|
||||
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
list:null
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
no(){
|
||||
this.end()
|
||||
},
|
||||
async getList(){
|
||||
let {data}=await currentInterview()
|
||||
if(data.result){
|
||||
this.list=data.result
|
||||
}
|
||||
console.log(this.list);
|
||||
},
|
||||
async end(){
|
||||
let {data}=await endInterview({recordId:this.list.recordId})
|
||||
// console.log(data);
|
||||
this.getList()
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
background: #fff;
|
||||
}
|
||||
.main,.main1{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.main1{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
img{
|
||||
width: 230px;
|
||||
height: 250px;
|
||||
margin: 40px auto;
|
||||
}
|
||||
.con{
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
border: 1px solid #ccc;
|
||||
padding: 20px 0;
|
||||
background: rgb(241,241,241);
|
||||
p{
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
width: 85%;
|
||||
margin: 30px auto;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
div{
|
||||
color: #fff;
|
||||
padding: 11px;
|
||||
font-size: 12px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
div:first-child{
|
||||
background: rgb(135,135,135);
|
||||
}
|
||||
div:last-child{
|
||||
background: rgb(38,112,229);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,13 +1,117 @@
|
|||
<template>
|
||||
<div>history</div>
|
||||
<div class="bigBox">
|
||||
<Back con="历史问诊" class="top" url="/my/myIndex"></Back>
|
||||
<div class="main">
|
||||
<div v-if="list.length == 0">
|
||||
<van-empty description="空空如也" />
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(item, index) in list" :key="index" class="con">
|
||||
<img :src="item.imagePic" alt="" />
|
||||
<div class="right">
|
||||
<div class="right-top">
|
||||
<h3>{{item.doctorName}}</h3>
|
||||
<span>{{item.jobTitle}}</span>
|
||||
</div>
|
||||
<div class="right-center">问诊时间
|
||||
<p>
|
||||
{{changeTime(item.inquiryTime)}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="right-bot">
|
||||
<p>查看问诊记录</p>
|
||||
<!-- /consultation/myConsultation/MyConsultationComment -->
|
||||
<!-- -->
|
||||
<p v-if="item.evaluateStatus=='1'" @click="$router.push({path:'/consultation/myConsultation/MyConsultationComment',query:{id:`${item.doctorId}`,recordId:`${item.recordId}`}})">去评价</p>
|
||||
<p v-else>已评价</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mixinTime} from '@/mixins/mixins'
|
||||
import { historyInquiry } from "../../../../getData/index";
|
||||
export default {
|
||||
|
||||
}
|
||||
mixins:[mixinTime],
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
page:1,
|
||||
count:5
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getHistory();
|
||||
},
|
||||
methods: {
|
||||
async getHistory() {
|
||||
let { data } = await historyInquiry({ page: this.page, count: this.count });
|
||||
console.log(data);
|
||||
this.list = data.result;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.bigBox {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: rgb(244, 244, 244);
|
||||
.top {
|
||||
background: #fff;
|
||||
}
|
||||
.main{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
.con{
|
||||
display: flex;
|
||||
padding: 0 20px;
|
||||
margin: 20px 0;
|
||||
border-bottom:3px solid #ccc ;
|
||||
padding-bottom: 10px;
|
||||
img{
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
}
|
||||
.right{
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
margin-left: 25px;
|
||||
.right-top{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span{
|
||||
font-size: 12px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
.right-center{
|
||||
font-size: 12px;
|
||||
p{
|
||||
padding-top: 10px;
|
||||
}
|
||||
}
|
||||
.right-bot{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
p{
|
||||
font-size: 12px;
|
||||
background: rgb(38,112,229);
|
||||
color: #fff;
|
||||
padding:6px 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
myConsultation<router-view></router-view>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -0,0 +1,358 @@
|
|||
<template>
|
||||
<div class="bigBox">
|
||||
<MyHeader>
|
||||
<template slot="center">
|
||||
<div class="inp" @click="$router.push('/home/search')">
|
||||
<span>病证、药品名称、医生姓名</span>
|
||||
</div>
|
||||
</template>
|
||||
</MyHeader>
|
||||
<!-- 轮播图 -->
|
||||
<van-swipe style="height: 200px;" vertical>
|
||||
<van-swipe-item v-for="(item,index) in swiperList" :key="index">
|
||||
<img :src="item.imageUrl" style="height:200px;width:100%"/>
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
<MyTitle con="知识宝典"/>
|
||||
<div class="one">
|
||||
<div @click="handleOne">
|
||||
<!-- <router-link to="/home/knowledgeBase"> -->
|
||||
<p>常见病症</p>
|
||||
<img src="../../../assets/images/img/common_disease.png" alt="">
|
||||
<!-- </router-link> -->
|
||||
|
||||
</div>
|
||||
<div @click="handleTwo">
|
||||
<!-- <router-link to="/home/knowledgeBase"> -->
|
||||
<p>常见药品</p>
|
||||
<img src="../../../assets/images/img/common_drugs.png" alt="">
|
||||
<!-- </router-link> -->
|
||||
</div>
|
||||
</div>
|
||||
<MyTitle con="问诊咨询" class="comm"/>
|
||||
<div class="two">
|
||||
<div class="menuBox">
|
||||
<div v-for="(item,index) in MenuList" :key="index" @click="goBigPage(index)">
|
||||
<img :src="item.pic" alt="">
|
||||
<p>{{item.departmentName}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<MyTitle con="健康测评"/>
|
||||
<img src="../../../assets/images/img/health_assessment.png" alt="" style="width:100%" @click="jumpDoctor">
|
||||
<MyTitle con="健康咨询"/>
|
||||
<ul class="tabTop">
|
||||
<li v-for="(item,index) in TabTitle" :class="TabTopActive===index?'active':''" @click="changeTab(index,item.id)" :key="index">{{item.name}}</li>
|
||||
</ul>
|
||||
<!-- <div class="tabList">
|
||||
<div v-for="(item,index) in tabList" :key="index" @click="toDetail(item.id)">
|
||||
<dl v-if="item.thumbnail.length>1" class="tabBigLength" >
|
||||
<dd>{{item.title}}</dd>
|
||||
<dt>
|
||||
<img :src="v" alt="" v-for="(v,i) in item.thumbnail" :key="i">
|
||||
</dt>
|
||||
<div class="tabListBtn">
|
||||
<span>{{item.source}}</span>
|
||||
<span>{{item.releaseTime}}</span>
|
||||
</div>
|
||||
</dl>
|
||||
<div v-else class="tabSmallLength">
|
||||
<div class="top">
|
||||
<img :src="v" alt="" v-for="(v,i) in item.thumbnail" :key="i">
|
||||
<dd>{{item.title}}</dd>
|
||||
|
||||
</div>
|
||||
<div class="tabListBtn">
|
||||
<span>{{item.source}}</span>
|
||||
<span>{{item.releaseTime}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div> -->
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
finished-text="没有更多了"
|
||||
@load="onLoad"
|
||||
>
|
||||
<div class="tabList">
|
||||
<div v-for="(item,index) in tabList" :key="index" @click="toDetail(item.id)">
|
||||
<dl v-if="item.thumbnail.length>1" class="tabBigLength" >
|
||||
<dd>{{item.title}}</dd>
|
||||
<dt>
|
||||
<img :src="v" alt="" v-for="(v,i) in item.thumbnail" :key="i">
|
||||
</dt>
|
||||
<div class="tabListBtn">
|
||||
<span>{{item.source}}</span>
|
||||
<span>{{item.releaseTime}}</span>
|
||||
</div>
|
||||
</dl>
|
||||
<div v-else class="tabSmallLength">
|
||||
<div class="top">
|
||||
<img :src="v" alt="" v-for="(v,i) in item.thumbnail" :key="i">
|
||||
<dd>{{item.title}}</dd>
|
||||
|
||||
</div>
|
||||
<div class="tabListBtn">
|
||||
<span>{{item.source}}</span>
|
||||
<span>{{item.releaseTime}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<TabBar>
|
||||
<template slot="home">
|
||||
<img src="../../../assets/images/icon/home_active.png" alt="">
|
||||
</template>
|
||||
|
||||
<template slot="center">
|
||||
<img src="../../../assets/images/icon/center.png" @click="$router.push('/patientCircle')" alt="">
|
||||
</template>
|
||||
|
||||
<template slot="video">
|
||||
<img src="../../../assets/images/icon/video.png" @click="$router.push('/vedio')">
|
||||
</template>
|
||||
|
||||
</TabBar>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState,mapMutations} from 'vuex'
|
||||
import {mixinTime} from '../../../mixins/mixins.js'
|
||||
import {getBanner, getMenu,getHealth,getTabList} from '../../../getData/index'
|
||||
import { Toast } from 'vant';
|
||||
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
swiperList:[],
|
||||
MenuList:[],
|
||||
TabTitle:[],
|
||||
tabList:[],
|
||||
TabTopActive:0,
|
||||
tabListId:1,
|
||||
tabListPage:1,
|
||||
tabListCount:5,
|
||||
//上拉加载
|
||||
loading: false,
|
||||
finished: false,
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
...mapState(['tabTopTitle'])
|
||||
},
|
||||
methods:{
|
||||
...mapMutations(['changeTabTopTitle','changTabConLeftActive','changeTabConRightActive']),
|
||||
goBigPage(index){
|
||||
this.$router.push('/home/knowledgeBase')
|
||||
this.changeTabTopTitle(0)
|
||||
this.changTabConLeftActive(index)
|
||||
},
|
||||
//上拉
|
||||
onLoad() {
|
||||
this.tabListPage++
|
||||
this.getTabList()
|
||||
},
|
||||
// 点击常见病症
|
||||
handleOne(){
|
||||
this.$router.push('/home/knowledgeBase')
|
||||
this.changeTabTopTitle(0)
|
||||
this.changTabConLeftActive(0)
|
||||
this.changeTabConRightActive(0)
|
||||
},
|
||||
//点击常见药品
|
||||
handleTwo(){
|
||||
this.$router.push('/home/knowledgeBase')
|
||||
this.changeTabTopTitle(1)
|
||||
this.changTabConLeftActive(0)
|
||||
this.changeTabConRightActive(0)
|
||||
},
|
||||
jumpDoctor(){
|
||||
this.$router.push('/consultation/consultationServer/consultationDoctorList')
|
||||
},
|
||||
changeTab(index,id){
|
||||
this.TabTopActive=index
|
||||
this.tabList=[]
|
||||
this.tabListPage=1
|
||||
this.tabListId=id
|
||||
this.finished = false;
|
||||
this.getTabList()
|
||||
|
||||
},
|
||||
toDetail(id){
|
||||
this.$router.push(`/home/information/informationDetail/${id}`)
|
||||
},
|
||||
tabListImg(data){
|
||||
data.forEach(v=>{
|
||||
|
||||
})
|
||||
},
|
||||
//获取轮播图列表
|
||||
async getBannerList(){
|
||||
let {data}=await getBanner()
|
||||
// console.log(data);
|
||||
this.swiperList=data.result
|
||||
},
|
||||
//获取菜单列表
|
||||
async getMenuList(){
|
||||
let {data}=await getMenu()
|
||||
this.MenuList=data.result
|
||||
},
|
||||
//获取tab头部
|
||||
async getTabTitle(){
|
||||
let data=await getHealth()
|
||||
this.TabTitle=data.data.result
|
||||
},
|
||||
//获取tab列表
|
||||
async getTabList(){
|
||||
console.log(this.tabListPage);
|
||||
let {data}=await getTabList({plateId:this.tabListId,page:this.tabListPage,count:this.tabListCount})
|
||||
|
||||
if(data.result.length){
|
||||
data.result.forEach(v=>{
|
||||
let thumbnail=v.thumbnail.split(';')
|
||||
let releaseTime=this.changeTime(v.releaseTime)
|
||||
let newV=Object.assign({...v},{thumbnail},{releaseTime})
|
||||
this.tabList.push(newV)
|
||||
|
||||
})
|
||||
Toast.success('加载成功')
|
||||
this.loading = false;
|
||||
}else{
|
||||
//
|
||||
Toast.fail('没有更多了')
|
||||
this.finished = true;
|
||||
}
|
||||
|
||||
console.log(data);
|
||||
},
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.getBannerList()
|
||||
this.getMenuList()
|
||||
this.getTabTitle()
|
||||
this.getTabList()
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
background: rgb(244,244,244);
|
||||
}
|
||||
.one{
|
||||
display: flex;
|
||||
background: rgb(244,244,244);
|
||||
justify-content: space-between;
|
||||
div{
|
||||
background: #fff;
|
||||
width: 184px;
|
||||
margin: 2px 0;
|
||||
p{
|
||||
text-align: left;
|
||||
font-size: 15px;
|
||||
padding: 10px 5px;
|
||||
color: black;
|
||||
}
|
||||
img{
|
||||
width: 165px;
|
||||
height: 165px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.two{
|
||||
background: rgb(244,244,244);
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
.menuBox{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// background: #fff;
|
||||
div{
|
||||
width: 25%;
|
||||
padding-top: 2px;
|
||||
background: #fff;
|
||||
padding-top: 2px;
|
||||
img{
|
||||
width: 60%;
|
||||
height: 60%;
|
||||
}
|
||||
p{
|
||||
font-size: 12px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.tabTop{
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
justify-content: space-around;
|
||||
background: #fff;
|
||||
margin: 2px 0;
|
||||
padding: 12px 0;
|
||||
.active{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.tabList{
|
||||
.tabBigLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
text-align: left;
|
||||
padding: 7px;
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dt{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin-top: 9px;
|
||||
img{
|
||||
width: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.tabSmallLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
padding: 7px 7px 10px 7px;
|
||||
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.top{
|
||||
display: flex;
|
||||
text-align: left;
|
||||
justify-content: space-around;
|
||||
}
|
||||
img{
|
||||
width: 30%;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.tabListBtn{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// color: #ccc;
|
||||
font-size: 13px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,179 @@
|
|||
<template>
|
||||
<div>
|
||||
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
<router-view></router-view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {};
|
||||
import {mixinTime} from '../../mixins/mixins.js'
|
||||
import {getBanner, getMenu,getHealth,getTabList} from '../../getData/index'
|
||||
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
swiperList:[],
|
||||
MenuList:[],
|
||||
TabTitle:[],
|
||||
tabList:[],
|
||||
TabTopActive:0,
|
||||
tabListId:1,
|
||||
tabListPage:1,
|
||||
tabListCount:5,
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
changeTab(index,id){
|
||||
this.TabTopActive=index
|
||||
// console.log(index,id);
|
||||
this.tabList=[]
|
||||
this.tabListId=id
|
||||
this.getTabList()
|
||||
|
||||
},
|
||||
tabListImg(data){
|
||||
data.forEach(v=>{
|
||||
|
||||
})
|
||||
},
|
||||
async getBannerList(){
|
||||
let {data}=await getBanner()
|
||||
// console.log(data);
|
||||
this.swiperList=data.result
|
||||
},
|
||||
async getMenuList(){
|
||||
let {data}=await getMenu()
|
||||
this.MenuList=data.result
|
||||
},
|
||||
async getTabTitle(){
|
||||
let data=await getHealth()
|
||||
this.TabTitle=data.data.result
|
||||
},
|
||||
async getTabList(){
|
||||
let {data}=await getTabList({plateId:this.tabListId,page:this.tabListPage,count:this.tabListCount})
|
||||
data.result.forEach(v=>{
|
||||
let thumbnail=v.thumbnail.split(';')
|
||||
// console.log(thumbnail);
|
||||
let releaseTime=this.changeTime(v.releaseTime)
|
||||
|
||||
let newV=Object.assign({...v},{thumbnail},{releaseTime})
|
||||
|
||||
this.tabList.push(newV)
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getBannerList()
|
||||
this.getMenuList()
|
||||
this.getTabTitle()
|
||||
this.getTabList()
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" >
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
background: rgb(244,244,244);
|
||||
}
|
||||
.one{
|
||||
display: flex;
|
||||
background: rgb(244,244,244);
|
||||
justify-content: space-between;
|
||||
div{
|
||||
background: #fff;
|
||||
width: 184px;
|
||||
margin: 2px 0;
|
||||
p{
|
||||
text-align: left;
|
||||
font-size: 15px;
|
||||
padding: 10px 5px;
|
||||
}
|
||||
img{
|
||||
width: 165px;
|
||||
height: 165px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.two{
|
||||
background: rgb(244,244,244);
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
.menuBox{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// background: #fff;
|
||||
div{
|
||||
width: 25%;
|
||||
padding-top: 2px;
|
||||
background: #fff;
|
||||
padding-top: 2px;
|
||||
img{
|
||||
width: 60%;
|
||||
height: 60%;
|
||||
}
|
||||
p{
|
||||
font-size: 12px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.tabTop{
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
justify-content: space-around;
|
||||
background: #fff;
|
||||
margin: 2px 0;
|
||||
padding: 12px 0;
|
||||
.active{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.tabList{
|
||||
.tabBigLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
text-align: left;
|
||||
padding: 7px;
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dt{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin-top: 9px;
|
||||
img{
|
||||
width: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.tabSmallLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
padding: 7px 7px 10px 7px;
|
||||
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.top{
|
||||
display: flex;
|
||||
text-align: left;
|
||||
justify-content: space-around;
|
||||
}
|
||||
img{
|
||||
width: 30%;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.tabListBtn{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// color: #ccc;
|
||||
font-size: 13px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,10 +1,43 @@
|
|||
<template>
|
||||
<div>detail</div>
|
||||
<div>
|
||||
<MyHeader/>
|
||||
<div v-html="html.content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {jumpDetail} from '../../../../getData/index.js'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
detailId:0,
|
||||
html:""
|
||||
}
|
||||
},
|
||||
beforeCreate(){
|
||||
this.$nextTick(()=>{
|
||||
this.detailId=this.$route.params.id
|
||||
console.log(this.detailId);
|
||||
})
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$nextTick(()=>{
|
||||
this.goDetail()
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
methods:{
|
||||
async goDetail(){
|
||||
let {data}=await jumpDetail({infoId:this.detailId})
|
||||
// console.log(data);
|
||||
this.html=data.result
|
||||
console.log(this.html);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<template>
|
||||
<div>infomationsearch<router-view></router-view></div>
|
||||
<div>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
<template>
|
||||
<div class="bigBox">
|
||||
<MyHeader />
|
||||
<van-tabs v-model="active" >
|
||||
<van-tab title="常见病症">
|
||||
<ul class="one-left">
|
||||
<li v-for="(item,index) in oneTitle" :key="index" :class="index===tabConLeftActive?'active':''" @click="changeLeftLi(index,item.id)">{{item.departmentName}}</li>
|
||||
</ul>
|
||||
<ul class="one-right">
|
||||
<li v-for="(item,index) in oneList" :key="index" @click="goDetailLeft(item.id,item.name)">{{item.name}}</li>
|
||||
</ul>
|
||||
</van-tab>
|
||||
<van-tab title="常见药品">
|
||||
<ul class="one-left">
|
||||
<li v-for="(item,index) in twoTitle" :key="index" :class="index===tabConRightActive?'active':''" @click="changeRightLi(index,item.id)">{{item.name}}</li>
|
||||
</ul>
|
||||
<ul class="two-right">
|
||||
<li v-for="(item,index) in twoList" :key="index" @click="goDetailRight(item.id,item.name)">{{item.name}}</li>
|
||||
</ul>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {mapState,mapMutations} from 'vuex'
|
||||
import {CommonDisease ,CommonDrug,EveryDisease,EveryDrug} from '../../../../getData/index'
|
||||
export default {
|
||||
computed:{
|
||||
...mapState(['tabTopTitle','tabConLeftActive','tabConRightActive'])
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
active:0,
|
||||
oneTitle:[],
|
||||
oneList:[],
|
||||
twoTitle:[],
|
||||
twoList:[],
|
||||
leftActive:0,
|
||||
leftId:7,
|
||||
rightActive:0,
|
||||
rightId:1,
|
||||
}
|
||||
|
||||
},
|
||||
beforeCreate(){
|
||||
this.$nextTick(()=>{
|
||||
this.active=this.tabTopTitle
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
...mapMutations(['changTabConLeftActive','changeTabConRightActive']),
|
||||
//跳转常见病症具体详情页
|
||||
goDetailLeft(id,name){
|
||||
// console.log(id);
|
||||
this.$router.push(`/home/knowledgeBase/knowledgeDetail/1/${id}/${name}`)
|
||||
},
|
||||
//跳转常见药品具体详情页
|
||||
goDetailRight(id,name){
|
||||
// console.log(id);
|
||||
this.$router.push(`/home/knowledgeBase/knowledgeDetail/2/${id}/${name}`)
|
||||
},
|
||||
//改变常见病症的li
|
||||
changeLeftLi(index,id){
|
||||
this.changTabConLeftActive(index)
|
||||
this.oneList=[]
|
||||
this.leftId=id
|
||||
this.getEveryLeft()
|
||||
},
|
||||
//改变常见药品的li
|
||||
changeRightLi(index,id){
|
||||
this.changeTabConRightActive(index)
|
||||
this.twoList=[]
|
||||
this.rightId=id
|
||||
this.getEveryRight()
|
||||
},
|
||||
async getTabLeft(){
|
||||
let {data}=await CommonDisease()
|
||||
this.oneTitle=data.result
|
||||
},
|
||||
async getEveryLeft(){
|
||||
let {data}=await EveryDisease({departmentId:this.leftId})
|
||||
this.oneList=data.result
|
||||
},
|
||||
async getTabRight(){
|
||||
let {data}=await CommonDrug()
|
||||
this.twoTitle=data.result
|
||||
console.log(this.twoTitle);
|
||||
},
|
||||
async getEveryRight(){
|
||||
let {data}=await EveryDrug({drugsCategoryId:this.rightId,page:1,count:5})
|
||||
this.twoList=data.result
|
||||
console.log(this.twoList);
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getTabLeft()
|
||||
this.getTabRight()
|
||||
this.getEveryLeft()
|
||||
this.getEveryRight()
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244,244,244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.van-tabs{
|
||||
margin-top: 5px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.van-tabs__content{
|
||||
flex: 1;
|
||||
background: red;
|
||||
}
|
||||
.van-tab__pane{
|
||||
height: 562px;
|
||||
margin-top: 5px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.one-left{
|
||||
width: 28%;
|
||||
height: 100%;
|
||||
li{
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
li.active{
|
||||
background: #fff;
|
||||
border-left: 3px solid rgb(48,135,234);
|
||||
}
|
||||
}
|
||||
.one-right{
|
||||
width: 72%;
|
||||
background: #fff;
|
||||
overflow-y: scroll;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
li{
|
||||
width: 50%;
|
||||
height: 20px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
}
|
||||
.two-right{
|
||||
width: 72%;
|
||||
background: #fff;
|
||||
font-size: 13px;
|
||||
li{
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,13 +1,109 @@
|
|||
<template>
|
||||
<div>infor detail</div>
|
||||
<div>
|
||||
<MyHeader/>
|
||||
<RedTitle/>
|
||||
<div class="con" v-if="this.code==1">
|
||||
<h3>{{name}}</h3>
|
||||
<h4>[药品成分]</h4>
|
||||
<p>{{listCon.chineseMedicineTreatment}}</p>
|
||||
<h4>[注意事项]</h4>
|
||||
<p>{{listCon.benefitTaboo}}</p>
|
||||
<h4>[主治功能]</h4>
|
||||
<p>{{listCon.pathology}}</p>
|
||||
<h4>[副作用]</h4>
|
||||
<p>{{listCon.symptom}}</p>
|
||||
<h4>[原因]</h4>
|
||||
<p>{{listCon.westernMedicineTreatment}}</p>
|
||||
</div>
|
||||
<div class="con" v-else-if="this.code==2">
|
||||
<h3>{{name}}</h3>
|
||||
<h4>[药品成分]</h4>
|
||||
<p>{{listCon.component}}</p>
|
||||
<h4>[用药禁忌]</h4>
|
||||
<p>{{listCon.mindMatter}}</p>
|
||||
<h4>[主治功能]</h4>
|
||||
<p>{{listCon.effect}}</p>
|
||||
<h4>[用法用量]</h4>
|
||||
<p>{{listCon.usage}}</p>
|
||||
<h4>[药品性状]</h4>
|
||||
<p>{{listCon.shape}}</p>
|
||||
<h4>[包装规格]</h4>
|
||||
<p>{{listCon.packing}}</p>
|
||||
<h4>[储存条件]</h4>
|
||||
<p>{{listCon.storage}}</p>
|
||||
<h4>[注意事项]</h4>
|
||||
<p>{{listCon.sideEffects}}</p>
|
||||
<h4>[批准文号]</h4>
|
||||
<p>{{listCon.approvalNumber}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {CommonDiseaseDetail,CommonDrugDetail} from '../../../../getData/index.js'
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
detailId:0,
|
||||
name:"",
|
||||
code:1,
|
||||
listCon:{}
|
||||
}
|
||||
},
|
||||
beforeCreate(){
|
||||
this.$nextTick(()=>{
|
||||
this.detailId=this.$route.params.id
|
||||
this.name=this.$route.params.name
|
||||
this.code=this.$route.params.code
|
||||
})
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$nextTick(()=>{
|
||||
if(this.code==1){
|
||||
console.log(1);
|
||||
this.goDetailLeft()
|
||||
}else{
|
||||
console.log(2);
|
||||
this.goDetailRight()
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
methods:{
|
||||
async goDetailLeft(){
|
||||
let {data}=await CommonDiseaseDetail({id:this.detailId})
|
||||
// console.log(data.result);
|
||||
this.listCon=data.result
|
||||
console.log(this.listCon);
|
||||
},
|
||||
|
||||
async goDetailRight(){
|
||||
let {data}=await CommonDrugDetail({id:this.detailId})
|
||||
// console.log(data.result);
|
||||
this.listCon=data.result
|
||||
console.log(this.listCon);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.con{
|
||||
text-align: left;
|
||||
padding: 0 15px;
|
||||
h3{
|
||||
margin: 10px 0;
|
||||
}
|
||||
h4{
|
||||
margin: 10px 0;
|
||||
}
|
||||
p{
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,12 +1,14 @@
|
|||
<template>
|
||||
<div>knowledgeBasesearchz,<router-view></router-view></div>
|
||||
<div>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
|
|
|
@ -1,13 +1,198 @@
|
|||
<template>
|
||||
<div>search</div>
|
||||
<div class="bigBox">
|
||||
<div class="top">
|
||||
<van-icon name="arrow-left" @click="handlePage"/>
|
||||
<input type="text" v-model="inp" placeholder="病症、药品名称、医生姓名">
|
||||
<span @click="onSearch">搜索</span>
|
||||
</div>
|
||||
<div class="main" v-if="show">
|
||||
<div class="hot">
|
||||
<p>热门搜索</p>
|
||||
<ul>
|
||||
<li v-for="(item,index) in hotList" :key="index">{{item.name}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="history">
|
||||
<p>历史搜索</p>
|
||||
<ul>
|
||||
<li v-for="(item,index) in historyArr" :key="index">
|
||||
<span>{{item}}</span>
|
||||
<span @click="removeHistory(index)">x</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mainTwo" v-else>
|
||||
<ul>
|
||||
<h4>医生</h4>
|
||||
<li v-for="(item,index) in doctorSearchVoList" :key="index">{{item.doctorName}}</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<h4>药品</h4>
|
||||
<li v-for="(item,index) in drugsSearchVoList" :key="index">{{item.drugsName}}</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<h4>病症</h4>
|
||||
<li v-for="(item,index) in diseaseSearchVoList" :key="index">{{item.diseaseName}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
<script>
|
||||
import {hot,getSearch} from '../../../getData/index.js'
|
||||
//防抖
|
||||
import _ from 'lodash'
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
hotList:[],
|
||||
inp:'',
|
||||
repeatIndex:null,
|
||||
historyArr:JSON.parse(localStorage.getItem('history'))||[],
|
||||
show:true,
|
||||
//医生
|
||||
doctorSearchVoList:[],
|
||||
//病症
|
||||
diseaseSearchVoList:[],
|
||||
//药品
|
||||
drugsSearchVoList:[]
|
||||
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getHot()
|
||||
|
||||
},
|
||||
computed:{
|
||||
|
||||
},
|
||||
methods:{
|
||||
handlePage(){
|
||||
if(this.show){
|
||||
this.$router.push('/home')
|
||||
}else{
|
||||
this.show=true
|
||||
}
|
||||
|
||||
},
|
||||
// 删除单个历史记录
|
||||
removeHistory(index){
|
||||
this.historyArr.splice(index,1)
|
||||
localStorage.setItem('history',JSON.stringify(this.historyArr))
|
||||
},
|
||||
//点击搜索
|
||||
onSearch:_.debounce(function(){
|
||||
this.historyArr.unshift(this.inp)
|
||||
this.historyArr=[...new Set(this.historyArr)]
|
||||
//console.log(this.historyArr)
|
||||
localStorage.setItem('history',JSON.stringify(this.historyArr))
|
||||
this.show=false
|
||||
this.handleSearch()
|
||||
},1000),
|
||||
|
||||
|
||||
|
||||
async getHot(){
|
||||
let {data}=await hot();
|
||||
this.hotList=data.result
|
||||
},
|
||||
async handleSearch(){
|
||||
let {data}=await getSearch({keyWord:this.inp})
|
||||
console.log(data)
|
||||
this.doctorSearchVoList=data.result.doctorSearchVoList
|
||||
this.diseaseSearchVoList=data.result.diseaseSearchVoList
|
||||
this.drugsSearchVoList=data.result.drugsSearchVoList
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244,244,244);
|
||||
.top{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background: #fff;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
.van-icon{
|
||||
font-weight: bold;
|
||||
}
|
||||
input{
|
||||
height: 36px;
|
||||
width: 270px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #ccc;
|
||||
font-size: 12px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
.main{
|
||||
background: #fff;
|
||||
margin-top: 20px;
|
||||
.hot{
|
||||
text-align: left;
|
||||
padding: 10px 20px;
|
||||
p{
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
ul{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10px;
|
||||
li{
|
||||
padding: 5px 8px;
|
||||
background: rgb(242,242,242);
|
||||
margin: 5px;
|
||||
border-radius: 20px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.history{
|
||||
p{
|
||||
color: rgb(48,135,234);
|
||||
text-align: left;
|
||||
padding-left:20px ;
|
||||
}
|
||||
ul{
|
||||
margin-top: 20px;
|
||||
padding:0 20px ;
|
||||
li{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.mainTwo{
|
||||
margin-top: 20px;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: left;
|
||||
ul{
|
||||
margin-top: 20px;
|
||||
padding: 0 20px;
|
||||
h4{
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
li{
|
||||
line-height: 30px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,120 @@
|
|||
<template>
|
||||
<div>
|
||||
attention
|
||||
<div class="bigBox">
|
||||
<Back con="我的关注" url="/my/myIndex" class="top"></Back>
|
||||
<div class="main" v-if="list.length==0">
|
||||
<van-empty description="空空如也" />
|
||||
</div>
|
||||
<div class="main1" v-else>
|
||||
<div v-for="(item,index) in list" :key="index" class="every">
|
||||
<img :src="item.imagePic" alt="">
|
||||
<van-swipe-cell class="right">
|
||||
<div class="one">
|
||||
<h3>{{item.name}}</h3>
|
||||
<span>{{item.jobTitle}}</span>
|
||||
</div>
|
||||
<div class="two">{{item.inauguralHospital}}</div>
|
||||
<div class="three">
|
||||
<p>好评率:{{item.praise}}</p>
|
||||
<p>服务患者指数:{{item.number}}</p>
|
||||
</div>
|
||||
<template #right>
|
||||
<van-button square text="删除" type="danger" class="delete-button" @click="unfollow(item.doctorId)"/>
|
||||
</template>
|
||||
</van-swipe-cell>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {followDoctorList,noLikeDoctor} from '@/getData/index.js'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//取消关注
|
||||
async unfollow(id){
|
||||
let {data}=await noLikeDoctor({doctorId:id})
|
||||
console.log(data);
|
||||
this.getList()
|
||||
},
|
||||
//获取列表
|
||||
async getList(){
|
||||
let {data}=await followDoctorList({page:1,count:5})
|
||||
this.list=data.result
|
||||
console.log(this.list);
|
||||
},
|
||||
},
|
||||
created(){
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: rgb(244, 244, 244);
|
||||
.top{
|
||||
background: #fff;
|
||||
}
|
||||
.main,.main1{
|
||||
margin-top: 10px;
|
||||
background: #fff;
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.main1{
|
||||
.every{
|
||||
width: 90%;
|
||||
display: flex;
|
||||
// border: 2px solid red;
|
||||
box-shadow: 2px 2px 2px 3px #ccc ;
|
||||
margin: 10px auto;
|
||||
padding: 15px 0;
|
||||
.goods-card {
|
||||
margin: 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
height: 100%;
|
||||
}
|
||||
img{
|
||||
width: 65px;
|
||||
height: 78px;
|
||||
margin: 0 20px;
|
||||
}
|
||||
.right{
|
||||
text-align: left;
|
||||
flex: 1;
|
||||
margin-left: 25px;
|
||||
.one{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
span{
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
.two{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.three{
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
font-size: 12px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,258 @@
|
|||
<template>
|
||||
<div>
|
||||
collection
|
||||
<div class="bigBox">
|
||||
<Back con="我的收藏" color="#000" url="/my/myIndex" class="back" />
|
||||
<div class="main">
|
||||
<ul class="tabTit">
|
||||
<li
|
||||
v-for="(item, index) in tabTit"
|
||||
@click="changeTit(index)"
|
||||
:class="index == active ? 'active' : ''"
|
||||
:key="index"
|
||||
>
|
||||
{{ item }}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="con" v-if="list.length > 0">
|
||||
<div class="one" v-if="active == 0">
|
||||
<div
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
@click="toDetail(item.id)"
|
||||
>
|
||||
<dl v-if="item.thumbnail.length > 1" class="tabBigLength">
|
||||
<dd>{{ item.title }}</dd>
|
||||
<dt>
|
||||
<img
|
||||
:src="v"
|
||||
alt=""
|
||||
v-for="(v, i) in item.thumbnail"
|
||||
:key="i"
|
||||
/>
|
||||
</dt>
|
||||
<div class="tabListBtn">
|
||||
<span>{{ item.source }}</span>
|
||||
<span>{{ item.releaseTime }}</span>
|
||||
</div>
|
||||
</dl>
|
||||
<div v-else class="tabSmallLength">
|
||||
<div class="top">
|
||||
<img
|
||||
:src="v"
|
||||
alt=""
|
||||
v-for="(v, i) in item.thumbnail"
|
||||
:key="i"
|
||||
/>
|
||||
<dd>{{ item.title }}</dd>
|
||||
</div>
|
||||
<div class="tabListBtn">
|
||||
<span>{{ item.source }}</span>
|
||||
<span>{{ item.releaseTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="three" v-else-if="active==2">
|
||||
<div class="everyList" v-for="(v,i) in list" :key="i" >
|
||||
<h3>{{v.title}}</h3>
|
||||
<p class="twoCol">{{v.releaseTime}}
|
||||
<span v-if="v.amount">{{v.amount}}H币</span>
|
||||
</p>
|
||||
<p>{{v.detail}}</p>
|
||||
<ul>
|
||||
<li>建议{{v.commentNum}}</li>
|
||||
<li>收藏{{v.collectionNum}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="con1" v-else>
|
||||
<img src="../../../assets/images/img/鱼.png" alt="" />
|
||||
<p>空空如也</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import '../../../assets/images/img/'
|
||||
import {
|
||||
collectHealth,
|
||||
collectVideo,
|
||||
collectCircle,
|
||||
} from "../../../getData/index";
|
||||
import { mixinTime } from "../../../mixins/mixins";
|
||||
export default {
|
||||
|
||||
}
|
||||
mixins: [mixinTime],
|
||||
data() {
|
||||
return {
|
||||
tabTit: ["健康咨询", "健康视频", "病友圈"],
|
||||
active: 0,
|
||||
list: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getOne();
|
||||
},
|
||||
methods: {
|
||||
changeTit(index) {
|
||||
this.active = index;
|
||||
this.list = [];
|
||||
if (index == 0) {
|
||||
this.getOne();
|
||||
} else if (index == 1) {
|
||||
this.getTwo();
|
||||
} else if (index == 2) {
|
||||
this.getThree();
|
||||
}
|
||||
},
|
||||
async getOne() {
|
||||
let { data } = await collectHealth({ page: 1, count: 10 });
|
||||
console.log(data);
|
||||
// this.list=data.result
|
||||
data.result.forEach((v) => {
|
||||
let thumbnail = v.thumbnail.split(";");
|
||||
let releaseTime = this.changeTime(v.createTime);
|
||||
let newV = Object.assign({ ...v }, { thumbnail }, { releaseTime });
|
||||
this.list.push(newV);
|
||||
});
|
||||
},
|
||||
async getTwo() {
|
||||
let { data } = await collectVideo({ page: 1, count: 10 });
|
||||
console.log(data);
|
||||
},
|
||||
async getThree() {
|
||||
let { data } = await collectCircle({ page: 1, count: 10 });
|
||||
// console.log(data);
|
||||
data.result.forEach((v) => {
|
||||
let createTime = this.changeTime(v.createTime);
|
||||
let newV = Object.assign({ ...v }, { createTime });
|
||||
this.list.push(newV);
|
||||
});
|
||||
console.log(this.list);
|
||||
// this.list=data.result
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.bigBox {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.back {
|
||||
background: #fff;
|
||||
}
|
||||
.main {
|
||||
background: #fff;
|
||||
margin-top: 5px;
|
||||
overflow-y: scroll;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.tabTit {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
border-bottom: 1px solid #ededed;
|
||||
height: 40px;
|
||||
line-height: 35px;
|
||||
.active {
|
||||
color: rgb(48, 135, 234);
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 4px solid rgb(48, 135, 234);
|
||||
}
|
||||
}
|
||||
.con1 {
|
||||
flex: 1;
|
||||
margin-top: 130px;
|
||||
img {
|
||||
width: 126px;
|
||||
width: 135px;
|
||||
}
|
||||
p {
|
||||
padding-top: 10px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
.one{
|
||||
.tabBigLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
text-align: left;
|
||||
padding: 7px;
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dt{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin-top: 9px;
|
||||
img{
|
||||
width: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.tabSmallLength{
|
||||
background: #fff;
|
||||
margin: 10px 0;
|
||||
padding: 7px 7px 10px 7px;
|
||||
|
||||
dd{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.top{
|
||||
display: flex;
|
||||
text-align: left;
|
||||
justify-content: space-around;
|
||||
}
|
||||
img{
|
||||
width: 30%;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.tabListBtn{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// color: #ccc;
|
||||
font-size: 13px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
.three{
|
||||
.everyList{
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
padding: 0 20px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #ccc;
|
||||
.twoCol{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
span{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
h3,p{
|
||||
line-height: 30px;
|
||||
}
|
||||
h3{
|
||||
padding-top: 10px;
|
||||
}
|
||||
ul{
|
||||
text-align: right;
|
||||
li{
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,15 +1,193 @@
|
|||
<template>
|
||||
<div>
|
||||
index
|
||||
<div class="bigBox">
|
||||
<div class="nav">
|
||||
<van-icon name="arrow-left" @click="$router.push('/')"/>
|
||||
<img src="../../../assets/images/icon/common_nav_message_black_n.png" alt="">
|
||||
</div>
|
||||
<div class="user">
|
||||
<div>
|
||||
<img src="../../../assets/images/icon/common_nav_message_black_n.png" alt="">
|
||||
<span>饭局热人更好</span>
|
||||
</div>
|
||||
<div>签到</div>
|
||||
</div>
|
||||
<div class="wz">
|
||||
<h3>我的问诊</h3>
|
||||
<div class="now">
|
||||
|
||||
<div @click="$router.push({path:'/consultation/myConsultation/MyConsultationCurrent'})">
|
||||
<img src="../../../assets/images/img/the_current_inquiry.png" alt="">
|
||||
<span>当前问诊</span>
|
||||
</div>
|
||||
<van-icon name="arrow" />
|
||||
</div>
|
||||
<div class="history" >
|
||||
<div @click="$router.push('/consultation/myConsultation/MyConsultationHistory')">
|
||||
<img src="../../../assets/images/img/historical_inquiry.png" alt="">
|
||||
<span>历史问诊</span>
|
||||
</div>
|
||||
<van-icon name="arrow" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bot">
|
||||
<dl @click="$router.push('/my/myProFile/myProFileIndex')">
|
||||
<dt><img src="../../../assets/images/img/我的档案.png" alt=""></dt>
|
||||
<dd>我的档案</dd>
|
||||
</dl>
|
||||
<dl @click="$router.push('/wallet/myWallet')">
|
||||
<dt><img src="../../../assets/images/img/我的钱包.png" alt=""></dt>
|
||||
<dd>我的钱包</dd>
|
||||
</dl>
|
||||
|
||||
<dl @click="$router.push('/my/myCollection')">
|
||||
<dt><img src="../../../assets/images/img/我的收藏.png" alt=""></dt>
|
||||
<dd>我的收藏</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><img src="../../../assets/images/img/被采纳建议.png" alt=""></dt>
|
||||
<dd>被采纳建议</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><img src="../../../assets/images/img/我的视频.png" alt=""></dt>
|
||||
<dd>我的视频</dd>
|
||||
</dl>
|
||||
<dl @click="$router.push('/my/myPatientCircle/myPatientIndex')">
|
||||
<dt><img src="../../../assets/images/img/我的病友圈.png" alt=""></dt>
|
||||
<dd>我的病友圈</dd>
|
||||
</dl>
|
||||
<dl @click="$router.push('/my/myAttention')">
|
||||
<dt><img src="../../../assets/images/img/我的关注.png" alt=""></dt>
|
||||
<dd>我的关注</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><img src="../../../assets/images/img/我的任务.png" alt=""></dt>
|
||||
<dd>我的任务</dd>
|
||||
</dl>
|
||||
<dl @click="$router.push('/set/index')">
|
||||
<dt><img src="../../../assets/images/img/设置管理.png" alt=""></dt>
|
||||
<dd>设置管理</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import '../../../assets/images/img/my_background.png'
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-image: url('../../../assets/images/img/my_background.png');
|
||||
background-size:100% 30%;
|
||||
background-repeat: no-repeat;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.nav{
|
||||
width: 85%;
|
||||
display: flex;
|
||||
margin: 30px auto;
|
||||
// color: #fff;
|
||||
justify-content: space-between;
|
||||
.van-icon{
|
||||
font-size: 20px;
|
||||
}
|
||||
img{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
.user{
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
div:nth-child(1){
|
||||
img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
span{
|
||||
padding-left:20px ;
|
||||
}
|
||||
line-height: 34px;
|
||||
}
|
||||
div:nth-child(2){
|
||||
background: #fff;
|
||||
width: 58px;
|
||||
height: 30px;
|
||||
color: rgb(48,135,234);
|
||||
border-radius: 2px;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
line-height: 30px;
|
||||
}
|
||||
span{
|
||||
// font-size: 12px;
|
||||
}
|
||||
|
||||
}
|
||||
.wz{
|
||||
width: 85%;
|
||||
height: 180px;
|
||||
margin: 20px auto;
|
||||
background: #fff;
|
||||
box-shadow: 2px 2px 2px 0.5px rgba(48,135,234,0.2);
|
||||
border-radius: 10px;
|
||||
// padding-left: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0 20px;
|
||||
img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
h3{
|
||||
text-align: left;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.now,.history{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
span{
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
.van-icon{
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
dl{
|
||||
width: 30%;
|
||||
margin: 20px 0;
|
||||
dd{
|
||||
padding-top: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,218 @@
|
|||
<template>
|
||||
<div>
|
||||
login
|
||||
<div class="box">
|
||||
<div class="top">
|
||||
<img src="../../../assets/images/login-img/login_hand_03.png" alt="">
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="one"></div>
|
||||
<div class="two"></div>
|
||||
<div class="three">
|
||||
<div class="username">
|
||||
<img src="../../../assets/images/login-img/login_icon_mail_n.png" alt="" class="icon">
|
||||
<input type="text" v-model="userInfo.email" placeholder="请输入电子邮箱">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pwd">
|
||||
<img src="../../../assets/images/login-img/login_icon_lock_n.png" alt="" class="icon">
|
||||
<input :type="Eyes?'text':'password'" placeholder="请输入密码" v-model="userInfo.pwd">
|
||||
<img :src="Eyes?show:hide" alt="" class="eles" @click="changeEyes">
|
||||
</div>
|
||||
<button class="btn" @click="onLogin">登录</button>
|
||||
<div class="text">
|
||||
<p>忘记密码</p>
|
||||
<div>
|
||||
<span>暂无账号?</span>
|
||||
<h5 @click="tz">立即注册</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="bot">
|
||||
<div class="botTop">
|
||||
<hr>
|
||||
<p>其他登录方式</p>
|
||||
<hr>
|
||||
</div>
|
||||
<img src="../../../assets/images/login-img/common_icon_weixin_n.png">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { isLogin } from '../../../getData'
|
||||
import { mixinTime } from '../../../mixins/mixins'
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
userInfo:{
|
||||
email:"",
|
||||
pwd:""
|
||||
},
|
||||
Eyes:false,
|
||||
show:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAYAAAEz5ozFAAAAAXNSR0IArs4c6QAABklJREFUWAmll31oVWUcx713122R64WsvENtkgqJUvkaZeZbSSiWpEvLoFxsd+qCSu2PQO31n0pmm5t3mhka6aIiAtPYyGhhZRhWBr6GU7c5JZeltc1tfb6n8zvdc3buWvXAc5/f8/29/563c/v0cVtxcfHVRkdFFBYWnu/o6EgyXjCGMwJ0iSgqKjrrABB1DpHuJyKGq3YkGo1O1uQU/WCohjlwmNXV1RkicDLNpKF/ER1dvHjxACbDdu/enSugq6urAu2+Lp0Db2u0oqKiCcYhxhOrV69WcsPpbRKqqqqKwpvuRChADQu/MVwuOhKJVCWTySLR3RqCLwZBq51TIjGxMMeEKPJdDmYAAR6FjtO3E8ejwonJCSdmdcB/ZMmSJcMvXbq0xZjwlmP55Sg/8w1sb29XRfsmEol8WYLXiHLfWDwef0+ANVzdCqNac4RuMFxVvuhNXAJXcfBJmnp1AhiBlQMmbCHYvMeR+KZiwFNOJ+zU0piEMY+ulXEaaz+0s7NzAVFcC3274RifjJxXf+ERvH2F4DzCrF+6dOmQtra2YySedmkxcA96u5BZRaGelxEMv+Tkj7FhGDsENgaD+8TU+rjlV0WXo/Sq8NSmqOB1wstwUsPINnkwIxJmkZOmBP8VKdm2MVzFhucrj5aulv6NCdkItiBoQLwVK1bkyDjNycpbWlOEeQx6CBHOJOQdhmvUOWpoaKiBnMKBHr1+/fpvU/k90hg+3KOAy/TnF64xNBz2o54harGMvtfPDp8RZVz1SeV6hrS8FG4seyJPAqoHwveLBisqKSm5QrTbGqjhdJto9BUb4YGtra0nTADhL6C/pw/EySwXrwO/Bcc5JqcxRjqHAHWj9cHIDoQ6UbqePfLX7SxGSiPKg/D7GUTksaampkQEhlbld7pzf2LgJhPCyRaU7mP+DHhlCp4Ar8zNzc1gO3SAz3FSw1gDk/4IZ6YIX0T4Ms3BfSUQhpON8AvI4BEy2mrFjmdlZflyNiNS0rOFs1GiraH8uGjk3tcYtTekrKysVUBY46n7Gfy7II9o3qBvFx7Nz89XjvV4fDogWBeYzwjMFU1BZmbmXOFe7hjqisViObxN3sUGdiMeZ6GwgTr57mN4++FdIEXnwvMMUYfbSGEPtbqONM8EvafOKfQejOvu8hbHMyRBdvBIrlZtwBqWdgZ7pDPVAPxZ8D8Cq8fI388HgM+QKeExicdCm9tIKtpvY0nnR8NsDDVkzN6MRDmVKGuRPUCUI3uj05NMLIxJ3cfgZBWLuGzdunV6E9I2KuAkRda9Sg7bs1nThdhelLpBzIEdEJvbqFt7nB4jKvCkgWEjcfiutzAZw9h5bxPMh8xH8UaFnqMes8KAlGfjdCfrfS/BjXf3xIOM3oVkDgOjPhaq6G+xIS80NjbuR2cEtrZja35A1ptG7OS7B9djiOCjoR+Z6A2b4DJ01rZlZGRsJtMv2TPtLu4bSCQOMJNeTB+dwtyETkHKvBupW/Zz0IlEfjg7O/vOtWvXnqYSeWSjMzkAvJkHdW5lZaXk/lPjuGZSIT1QJa6BJIElRKsgNTU170DOo590loygBuO4DoVBgMpaT0A9l8kdXCYnoX2NgB9GdgPduc3FRP8c80Usz04C+MOnkDLRnuTArEFe79RnsKbQO0j6Ib4iqr09pIeJN+UozMH0lWTwAmO35r5NC4MMDD6Gwc1BPGyu55pPwh8IaBCBvcmeWmRyXkBU6WvAcfRlBPOaCQRH5M6BXRXENcf4eZwch9R99BR2SoWHNRWAZTyMfB7JJEjG+TL0jj3GXncVlyOcHWZEGHIr0/Ewrg8VvZ+n6DphaVtzc7N85LgC3oPlVUgMlqMAoxshL3Jx3czFdcRV8A1uydcgGzwx2m8FVOYTn0Jggp8RQPvQz6I6BVRnk4n4AhKoT34uxL0IX0M1dvF/aDYVazOF/zOq8izTx9iejJ2zvPHjy8vLf0q12S0gY3IaZnAa3mWusp4kkyfI5APj/5sRWw9gqwwd3U+/0uemq2LagMyh/h20tLQ8R7VKyMx5+6BPwK+l1xHoceZnJQ+/PxdmHuRE+jT6QLr2nY54Odvg2bD3SzLW/jEgE7SRU3YlDu5mPok+AUcDGPu7/DPwTkPvZfyUi7a2tLS0xeX1avgTr0sDtA1f/pcAAAAASUVORK5CYII=',
|
||||
hide:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAYAAAEPN03jAAAAAXNSR0IArs4c6QAAAixJREFUOBGdkz9oU3EQx/OSlwSNEVsymKAgOCh0KQSLk6NLO9il0KFVKOQfdYiEN/gHYodCwdIhocl70KEQhy6C9A84Ktgt4KSTcTIJGKhERAx5L35+Ifd4xjroD467+37vd/e7e/d86XT6jW90NKVTqdRA07RpAf+iVZhQ+Xx+cugXi0W/gKIpYPoymYxBxLaA2D2xXe0N0HK53Ll+v/8tEAhMViqVEzdqzCD9C6AJfTAYJHl3QwVTbtVxnJKKBTuBm8B8l0gkkp1OZ7XX631W3G+H8t8FoKMzZN4VX+kAgFWv1/e94Gk21bR2u32sRnGdrK9OCxKsUChESOzQ523v/B2yXLIsqyWBSpNsA2Ugm3AFjZt2MBi8HIvFOs1m8z3EVeQrcgFRzS+Zplkj7iPufYW5J5vNJiFMAcjuflLBdDGUZqQPo9HosmBk74otWj1pn7fPQT6Px+P32Im+kP+j1U61Wi2LnCvkPJIhncWpAc6jG8hytVp9+y8F2LBpNqzGnSlkNxwOp0ul0s9hy36/f4l25yE+II8ptMN8rlHoB/6eklAodMyF4QgMw4h2u90b3FkgZpH487Zt14l7gL+Ff5eta+CvaQz+JuQ6CVbK5fInQPfQrs6X/MIlG/A1khiRTZLcwrb59BdHmKtY+SsUfwbwdDgilxkz6OIJ0BoF7rAaL7003Cz+AfKIIutezmv/8ZN7Sbqq6bo+M55cxZD0kMJTkUik6r0zbv8Cp9LrV4K0CCQAAAAASUVORK5CYII="
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
tz(){
|
||||
this.$router.push('/my/register')
|
||||
},
|
||||
changeEyes(){
|
||||
this.Eyes=!this.Eyes
|
||||
},
|
||||
async onLogin(){
|
||||
// console.log(this.userInfo);
|
||||
let newPwd=this.Encipher(this.userInfo.pwd)
|
||||
let {data}=await isLogin({email:this.userInfo.email,pwd:newPwd})
|
||||
console.log(data);
|
||||
if(data.result){
|
||||
localStorage.setItem('sessionId',JSON.stringify(data.result.sessionId))
|
||||
localStorage.setItem('userId',JSON.stringify(data.result.userId))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.box{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: url('../../../assets/images/login-img/login_bg.png');
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
margin: 30px 0;
|
||||
img{
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
}
|
||||
.main{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
.one{
|
||||
width: 240px;
|
||||
height: 218px;
|
||||
background: rgb(255,255,255,.7);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: -20px;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.two{
|
||||
width: 260px;
|
||||
height: 218px;
|
||||
background: rgb(255,255,255,.7);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: -10px;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.three{
|
||||
width: 280px;
|
||||
height: 218px;
|
||||
background: rgb(255,255,255,1);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
.eles{
|
||||
width: 16px;
|
||||
height: 12px;
|
||||
}
|
||||
.pwd,.username{
|
||||
height: 40px;
|
||||
width: 70%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 30px;
|
||||
font-size: 12px;
|
||||
|
||||
border-bottom: 1px solid #ccc;
|
||||
.icon{
|
||||
width: 26px;
|
||||
height: 20px;
|
||||
}
|
||||
input{
|
||||
border: none;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
padding-left: 20px;
|
||||
|
||||
}
|
||||
}
|
||||
.btn{
|
||||
// display: inline-block;
|
||||
width: 70%;
|
||||
height: 30px;
|
||||
margin-top: 20px;
|
||||
background: rgb(48,135,234);
|
||||
border: 0;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.text{
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
// position: absolute;
|
||||
margin-top: 50px;
|
||||
color: #fff;
|
||||
p,span{
|
||||
font-size: 11px;
|
||||
}
|
||||
div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.botTop{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 120px;
|
||||
hr{
|
||||
width: 60px;
|
||||
background: #fff;
|
||||
}
|
||||
p{
|
||||
font-size: 13px;
|
||||
color: #fff;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
|
||||
</template>
|
|
@ -1,15 +1,81 @@
|
|||
<template>
|
||||
<div>
|
||||
commentList
|
||||
<div class="bigBox">
|
||||
<Back con="评论列表" url="/my/myPatientCircle/myPatientIndex" class="top"></Back>
|
||||
<div class="con" v-if="list.length==0">
|
||||
<van-empty description="空空如也" />
|
||||
</div>
|
||||
<div class="main" v-else>
|
||||
<div class="every" v-for="(item,index) in list" :key="index">
|
||||
<div class="every-left">
|
||||
<img :src="item.headPic" alt="">
|
||||
<p>{{item.nickName}}</p>
|
||||
</div>
|
||||
<div class="every-right">
|
||||
<p>{{item.content}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {myCommunityList} from '@/getData/index.js'
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
id:null,
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.id=this.$route.query.sickCircleId
|
||||
},
|
||||
mounted(){
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
async getList(){
|
||||
let {data} =await myCommunityList({sickCircleId:this.id*1,page:1,count:5})
|
||||
// console.log(data);
|
||||
this.list=data.result.otherSickCircleCommentList
|
||||
console.log(this.list);
|
||||
// otherSickCircleCommentList
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
background: #fff;
|
||||
}
|
||||
.con,.main{
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.every{
|
||||
display: flex;
|
||||
width: 90%;
|
||||
height: 140px;
|
||||
box-shadow: 4px 4px 9px rgba(0, 0, 0, 0.2);
|
||||
margin: 10px auto;
|
||||
.every-left{
|
||||
width: 40%;
|
||||
}
|
||||
.every-right{
|
||||
text-align: center;
|
||||
flex: 1;
|
||||
line-height: 140px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,4 @@
|
|||
<template>
|
||||
|
||||
<router-view></router-view>
|
||||
</template>
|
|
@ -1,15 +1,83 @@
|
|||
<template>
|
||||
<div>
|
||||
index
|
||||
<div class="bigBox">
|
||||
<Back con="我的病友圈" url="/my/myIndex" class="top"></Back>
|
||||
<div class="con">
|
||||
<!-- /my/myPatientCircle/myPatientCommentList -->
|
||||
<!-- @click="$router.push({path:'/my/myPatientCircle/myPatientCommentList',query:{sickCircleId:`${item.sickCircleId}`}})" -->
|
||||
<div v-for="(item,index) in list" :key="index" class="every" @click="$router.push({path:'/my/myPatientCircle/myPatientCommentList',query:{sickCircleId:`${item.sickCircleId}`}})">
|
||||
<h3>{{item.title}}</h3>
|
||||
<div>
|
||||
<p>{{item.detail}}</p>
|
||||
<p>{{changeTime(item.releaseTime)}}</p>
|
||||
</div>
|
||||
<p class="lastP">查看评论</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mixinTime} from '@/mixins/mixins.js'
|
||||
import {myCommunity} from '@/getData/index.js'
|
||||
export default {
|
||||
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
async getList(){
|
||||
let {data}=await myCommunity({page:1,count:5})
|
||||
console.log(data);
|
||||
this.list=data.result
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
background: #fff;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.con{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.every{
|
||||
text-align: left;
|
||||
width: 85%;
|
||||
background: #ededed;
|
||||
margin: 10px auto;
|
||||
padding: 10px 5px;
|
||||
p{
|
||||
line-height: 35px;
|
||||
}
|
||||
div{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-left: 10px;
|
||||
padding-right: 5px;
|
||||
p:last-child{
|
||||
font-size: 8px;
|
||||
}
|
||||
}
|
||||
.lastP{
|
||||
text-align: right;
|
||||
padding-right: 25px;
|
||||
font-size: 12px;
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,205 @@
|
|||
<template>
|
||||
<div>
|
||||
addModifyProfile
|
||||
<div class="bigBox">
|
||||
<Back con="我的档案" url="/my/myProFile/myProFileIndex" class="back"></Back>
|
||||
<div class="main">
|
||||
<div class="everyBox">
|
||||
<p>[主要病症]</p>
|
||||
<input type="text" placeholder="请输入您的主要病症" v-model="mainDisease">
|
||||
</div>
|
||||
<div class="everyBox">
|
||||
<p>[现病史]</p>
|
||||
<input type="text" placeholder="请详细输入您的当前病状" v-model="presentDisease">
|
||||
</div>
|
||||
<div class="everyBox">
|
||||
<p>[既往病史]</p>
|
||||
<input type="text" placeholder="请输入您的既往病史" v-model="beforeDisease">
|
||||
</div>
|
||||
<div class="everyBoxLast everyBox">
|
||||
<p>[最近一次治疗经历]</p>
|
||||
<input type="text" placeholder="请输入医院名称" v-model="hospitalName">
|
||||
<div @click="handleStartTime">请选择治疗开始时间
|
||||
<span>{{startTime}}</span>
|
||||
</div>
|
||||
<div @click="handleEndTime">请选择治疗结束时间
|
||||
<span>{{endTime}}</span>
|
||||
</div>
|
||||
<input type="text" placeholder="请输入治疗过程" v-model="healDisease">
|
||||
</div>
|
||||
<div class="upload">
|
||||
<p>[相关图片]</p>
|
||||
<span>最多可添加6张图片,长按为图片排序</span>
|
||||
<van-uploader :after-read="afterRead" />
|
||||
</div>
|
||||
<div class="btn" @click="btn">
|
||||
保存
|
||||
</div>
|
||||
</div>
|
||||
<!-- 时间选择器 -->
|
||||
<van-popup v-model="show" position="bottom" :style="{ height: '45%' }" >
|
||||
<van-datetime-picker
|
||||
v-model="currentDate"
|
||||
type="date"
|
||||
title="选择年月日"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
@confirm="okTime"
|
||||
/>
|
||||
|
||||
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mixinTime} from '../../../../mixins/mixins'
|
||||
import {saveFile} from '../../../../getData/index'
|
||||
export default {
|
||||
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
//主要病症
|
||||
mainDisease:'',
|
||||
//现病症
|
||||
presentDisease:"",
|
||||
//既往病症
|
||||
beforeDisease:"",
|
||||
//医院名称
|
||||
hospitalName:"",
|
||||
//治疗过程
|
||||
healDisease:"",
|
||||
show:false,
|
||||
minDate: new Date(2020, 0, 1),
|
||||
maxDate: new Date(2025, 10, 1),
|
||||
currentDate: new Date(2021, 0, 17),
|
||||
startTime:null,
|
||||
endTime:null,
|
||||
onOff:false,
|
||||
file:null
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//点击开始时间
|
||||
handleStartTime(){
|
||||
//当onOff为true时候 是开始时间
|
||||
this.onOff=true
|
||||
this.show=true
|
||||
},
|
||||
//点击关闭时间
|
||||
handleEndTime(){
|
||||
//当onOff为false时候 是结束时间
|
||||
this.onOff=false
|
||||
this.show=true
|
||||
},
|
||||
//保存按钮
|
||||
async btn(){
|
||||
let res={
|
||||
//主要病症
|
||||
diseaseMain:this.mainDisease,
|
||||
//现病症
|
||||
diseaseNow:this.presentDisease,
|
||||
//既往病症
|
||||
diseaseBefore:this.beforeDisease,
|
||||
//医院名称
|
||||
treatmentHospitalRecent:this.hospitalName,
|
||||
//治疗过程
|
||||
treatmentProcess:this.healDisease,
|
||||
//开始时间
|
||||
treatmentStartTime:this.startTime,
|
||||
//结束时间
|
||||
treatmentEndTime:this.endTime
|
||||
}
|
||||
let data=await saveFile(res)
|
||||
console.log(data);
|
||||
},
|
||||
//图片上传
|
||||
afterRead(file) {
|
||||
// 此时可以自行将文件上传至服务器
|
||||
console.log(file);
|
||||
this.file=file
|
||||
},
|
||||
okTime(value){
|
||||
if(this.onOff){
|
||||
//开始时间
|
||||
let a=this.changeTimeTwo(value)
|
||||
this.startTime=a
|
||||
}else{
|
||||
//结束时间
|
||||
let a=this.changeTimeTwo(value)
|
||||
this.endTime=a
|
||||
}
|
||||
this.show=false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244, 244, 244);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.back{
|
||||
background: #fff;
|
||||
}
|
||||
.main{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
background: #fff;
|
||||
text-align: left;
|
||||
padding: 0 20px;
|
||||
margin-top: 10px;
|
||||
.everyBox{
|
||||
// background: red;
|
||||
margin: 25px 0;
|
||||
border-bottom: 0.5px solid #ededed;
|
||||
p{
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
input{
|
||||
margin-bottom: 10px;
|
||||
font-size: 15px;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
.everyBoxLast{
|
||||
border: none;
|
||||
input,div{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
border-bottom: 0.5px solid #ededed;
|
||||
}
|
||||
}
|
||||
.upload{
|
||||
margin-top: -20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
p{
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
span{
|
||||
font-size: 14px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
.btn{
|
||||
width: 80%;
|
||||
height: 40px;
|
||||
border-radius: 5px;
|
||||
background: rgb(48,135,234);
|
||||
margin: 0 auto;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
line-height: 40px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,3 @@
|
|||
<template>
|
||||
<router-view></router-view>
|
||||
</template>
|
|
@ -1,15 +1,139 @@
|
|||
<template>
|
||||
<div>
|
||||
index
|
||||
<div class="bigBox">
|
||||
<Back con="我的档案" url="/my/myIndex"></Back>
|
||||
<div class="main" v-if="list.length==0">
|
||||
<img src="../../../../assets/images/img/鱼.png" alt="">
|
||||
<p>您还没有档案哦</p>
|
||||
<div class="btn" @click="$router.push('/my/myProFile/myProFileAddModifyProfile')">
|
||||
添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="main1" v-else>
|
||||
<div class="everyBox">
|
||||
<p>[主要病症]</p>
|
||||
<div>{{con.diseaseMain}}</div>
|
||||
</div>
|
||||
<div class="everyBox">
|
||||
<p>[现病史]</p>
|
||||
<div>{{con.diseaseNow}}</div>
|
||||
</div>
|
||||
<div class="everyBox">
|
||||
<p>[既往病史]</p>
|
||||
<div>{{con.diseaseBefore}}</div>
|
||||
</div>
|
||||
<div class="everyBoxLast everyBox">
|
||||
<p>[最近一次治疗经历]</p>
|
||||
<div>{{con.treatmentHospitalRecent}}</div>
|
||||
<div>{{con.treatmentProcess}}</div>
|
||||
</div>
|
||||
<div class="upload">
|
||||
<p>[相关图片]</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {fileList} from '../../../../getData/index'
|
||||
// import '../../../../assets/images/img'
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
list:[],
|
||||
con:{},
|
||||
show:true
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
async getList(){
|
||||
let {data}=await fileList()
|
||||
this.list=data.result
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getList().then(()=>{
|
||||
this.con=this.list[0]
|
||||
console.log(this.list);
|
||||
})
|
||||
// console.log(this.list);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
.main{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
img{
|
||||
width: 126px;
|
||||
height: 135px;
|
||||
margin:0 auto;
|
||||
margin-top: 140px;
|
||||
}
|
||||
p{
|
||||
font-size: 14px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
.btn{
|
||||
width: 300px;
|
||||
height: 35px;
|
||||
background: rgb(48,135,234);
|
||||
margin: 0 auto;
|
||||
color: #fff;
|
||||
line-height: 35px;
|
||||
border-radius: 5px;
|
||||
margin-top: 200px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.main1{
|
||||
text-align: left;
|
||||
text-align: left;
|
||||
padding: 0 20px;
|
||||
margin-top: 10px;
|
||||
.everyBox{
|
||||
// background: red;
|
||||
margin: 25px 0;
|
||||
border-bottom: 0.5px solid #ededed;
|
||||
p{
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
input{
|
||||
margin-bottom: 10px;
|
||||
font-size: 15px;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
.everyBoxLast{
|
||||
border: none;
|
||||
input,div{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
border-bottom: 0.5px solid #ededed;
|
||||
}
|
||||
}
|
||||
.upload{
|
||||
margin-top: -20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
p{
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: rgb(48,135,234);
|
||||
}
|
||||
span{
|
||||
font-size: 14px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,239 @@
|
|||
<template>
|
||||
<div>
|
||||
register
|
||||
<div class="box">
|
||||
<div class="top">
|
||||
<img src="../../../assets/images/login-img/login_hand_03.png" alt="">
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="one"></div>
|
||||
<div class="two"></div>
|
||||
<div class="three">
|
||||
<div class="username">
|
||||
<img src="../../../assets/images/login-img/login_icon_mail_n.png" alt="" class="icon">
|
||||
<input type="text" v-model="userInfo.email" placeholder="请输入电子邮箱">
|
||||
<div @click="AcquireCode()">获取验证码</div>
|
||||
</div>
|
||||
|
||||
<div class="code">
|
||||
<img src="../../../assets/images/login-img/register_icon_verification_code_n.png" alt="" class="icon">
|
||||
<input type="text" v-model="userInfo.code" placeholder="请输入验证码">
|
||||
</div>
|
||||
|
||||
<div class="pwd">
|
||||
<img src="../../../assets/images/login-img/login_icon_lock_n.png" alt="" class="icon">
|
||||
<input :type="Eyes?'text':'password'" placeholder="请输入密码" v-model="userInfo.pwd">
|
||||
<img :src="Eyes?show:hide" alt="" class="eles" @click="changeEyes">
|
||||
</div>
|
||||
|
||||
<div class="lastPwd">
|
||||
<img src="../../../assets/images/login-img/login_icon_lock_n.png" alt="" class="icon">
|
||||
<input :type="Eyes?'text':'password'" placeholder="请再次输入密码" v-model="userInfo.twoPwd">
|
||||
<img :src="Eyes?show:hide" alt="" class="eles" @click="changeEyes">
|
||||
</div>
|
||||
|
||||
<div class="lastCode">
|
||||
<img src="../../../assets/images/login-img/register_icon_invitatiion_code_n.png" alt="" class="icon">
|
||||
<input type="text" v-model="userInfo.last" placeholder="请输入邀请码(非必填)">
|
||||
</div>
|
||||
<button class="btn" @click="onSigin">注册</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Toast } from 'vant';
|
||||
import { mixinTime } from '../../../mixins/mixins'
|
||||
import {getCode,isSigin} from '../../../getData'
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
userInfo:{
|
||||
email:"",
|
||||
pwd:"",
|
||||
code:'',
|
||||
twoPwd:'',
|
||||
last:''
|
||||
},
|
||||
Eyes:false,
|
||||
show:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAYAAAEz5ozFAAAAAXNSR0IArs4c6QAABklJREFUWAmll31oVWUcx713122R64WsvENtkgqJUvkaZeZbSSiWpEvLoFxsd+qCSu2PQO31n0pmm5t3mhka6aIiAtPYyGhhZRhWBr6GU7c5JZeltc1tfb6n8zvdc3buWvXAc5/f8/29/563c/v0cVtxcfHVRkdFFBYWnu/o6EgyXjCGMwJ0iSgqKjrrABB1DpHuJyKGq3YkGo1O1uQU/WCohjlwmNXV1RkicDLNpKF/ER1dvHjxACbDdu/enSugq6urAu2+Lp0Db2u0oqKiCcYhxhOrV69WcsPpbRKqqqqKwpvuRChADQu/MVwuOhKJVCWTySLR3RqCLwZBq51TIjGxMMeEKPJdDmYAAR6FjtO3E8ejwonJCSdmdcB/ZMmSJcMvXbq0xZjwlmP55Sg/8w1sb29XRfsmEol8WYLXiHLfWDwef0+ANVzdCqNac4RuMFxVvuhNXAJXcfBJmnp1AhiBlQMmbCHYvMeR+KZiwFNOJ+zU0piEMY+ulXEaaz+0s7NzAVFcC3274RifjJxXf+ERvH2F4DzCrF+6dOmQtra2YySedmkxcA96u5BZRaGelxEMv+Tkj7FhGDsENgaD+8TU+rjlV0WXo/Sq8NSmqOB1wstwUsPINnkwIxJmkZOmBP8VKdm2MVzFhucrj5aulv6NCdkItiBoQLwVK1bkyDjNycpbWlOEeQx6CBHOJOQdhmvUOWpoaKiBnMKBHr1+/fpvU/k90hg+3KOAy/TnF64xNBz2o54harGMvtfPDp8RZVz1SeV6hrS8FG4seyJPAqoHwveLBisqKSm5QrTbGqjhdJto9BUb4YGtra0nTADhL6C/pw/EySwXrwO/Bcc5JqcxRjqHAHWj9cHIDoQ6UbqePfLX7SxGSiPKg/D7GUTksaampkQEhlbld7pzf2LgJhPCyRaU7mP+DHhlCp4Ar8zNzc1gO3SAz3FSw1gDk/4IZ6YIX0T4Ms3BfSUQhpON8AvI4BEy2mrFjmdlZflyNiNS0rOFs1GiraH8uGjk3tcYtTekrKysVUBY46n7Gfy7II9o3qBvFx7Nz89XjvV4fDogWBeYzwjMFU1BZmbmXOFe7hjqisViObxN3sUGdiMeZ6GwgTr57mN4++FdIEXnwvMMUYfbSGEPtbqONM8EvafOKfQejOvu8hbHMyRBdvBIrlZtwBqWdgZ7pDPVAPxZ8D8Cq8fI388HgM+QKeExicdCm9tIKtpvY0nnR8NsDDVkzN6MRDmVKGuRPUCUI3uj05NMLIxJ3cfgZBWLuGzdunV6E9I2KuAkRda9Sg7bs1nThdhelLpBzIEdEJvbqFt7nB4jKvCkgWEjcfiutzAZw9h5bxPMh8xH8UaFnqMes8KAlGfjdCfrfS/BjXf3xIOM3oVkDgOjPhaq6G+xIS80NjbuR2cEtrZja35A1ptG7OS7B9djiOCjoR+Z6A2b4DJ01rZlZGRsJtMv2TPtLu4bSCQOMJNeTB+dwtyETkHKvBupW/Zz0IlEfjg7O/vOtWvXnqYSeWSjMzkAvJkHdW5lZaXk/lPjuGZSIT1QJa6BJIElRKsgNTU170DOo590loygBuO4DoVBgMpaT0A9l8kdXCYnoX2NgB9GdgPduc3FRP8c80Usz04C+MOnkDLRnuTArEFe79RnsKbQO0j6Ib4iqr09pIeJN+UozMH0lWTwAmO35r5NC4MMDD6Gwc1BPGyu55pPwh8IaBCBvcmeWmRyXkBU6WvAcfRlBPOaCQRH5M6BXRXENcf4eZwch9R99BR2SoWHNRWAZTyMfB7JJEjG+TL0jj3GXncVlyOcHWZEGHIr0/Ewrg8VvZ+n6DphaVtzc7N85LgC3oPlVUgMlqMAoxshL3Jx3czFdcRV8A1uydcgGzwx2m8FVOYTn0Jggp8RQPvQz6I6BVRnk4n4AhKoT34uxL0IX0M1dvF/aDYVazOF/zOq8izTx9iejJ2zvPHjy8vLf0q12S0gY3IaZnAa3mWusp4kkyfI5APj/5sRWw9gqwwd3U+/0uemq2LagMyh/h20tLQ8R7VKyMx5+6BPwK+l1xHoceZnJQ+/PxdmHuRE+jT6QLr2nY54Odvg2bD3SzLW/jEgE7SRU3YlDu5mPok+AUcDGPu7/DPwTkPvZfyUi7a2tLS0xeX1avgTr0sDtA1f/pcAAAAASUVORK5CYII=',
|
||||
hide:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAYAAAEPN03jAAAAAXNSR0IArs4c6QAAAixJREFUOBGdkz9oU3EQx/OSlwSNEVsymKAgOCh0KQSLk6NLO9il0KFVKOQfdYiEN/gHYodCwdIhocl70KEQhy6C9A84Ktgt4KSTcTIJGKhERAx5L35+Ifd4xjroD467+37vd/e7e/d86XT6jW90NKVTqdRA07RpAf+iVZhQ+Xx+cugXi0W/gKIpYPoymYxBxLaA2D2xXe0N0HK53Ll+v/8tEAhMViqVEzdqzCD9C6AJfTAYJHl3QwVTbtVxnJKKBTuBm8B8l0gkkp1OZ7XX631W3G+H8t8FoKMzZN4VX+kAgFWv1/e94Gk21bR2u32sRnGdrK9OCxKsUChESOzQ523v/B2yXLIsqyWBSpNsA2Ugm3AFjZt2MBi8HIvFOs1m8z3EVeQrcgFRzS+Zplkj7iPufYW5J5vNJiFMAcjuflLBdDGUZqQPo9HosmBk74otWj1pn7fPQT6Px+P32Im+kP+j1U61Wi2LnCvkPJIhncWpAc6jG8hytVp9+y8F2LBpNqzGnSlkNxwOp0ul0s9hy36/f4l25yE+II8ptMN8rlHoB/6eklAodMyF4QgMw4h2u90b3FkgZpH487Zt14l7gL+Ff5eta+CvaQz+JuQ6CVbK5fInQPfQrs6X/MIlG/A1khiRTZLcwrb59BdHmKtY+SsUfwbwdDgilxkz6OIJ0BoF7rAaL7003Cz+AfKIIutezmv/8ZN7Sbqq6bo+M55cxZD0kMJTkUik6r0zbv8Cp9LrV4K0CCQAAAAASUVORK5CYII="
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
async AcquireCode(){
|
||||
let {data}=await getCode({email:this.userInfo.email})
|
||||
console.log(data);
|
||||
if(data.status==='0000'){
|
||||
Toast.success('发送成功')
|
||||
}else{
|
||||
Toast.fail('发送失败')
|
||||
}
|
||||
},
|
||||
tz(){
|
||||
this.$router.push('/my/register')
|
||||
},
|
||||
changeEyes(){
|
||||
this.Eyes=!this.Eyes
|
||||
},
|
||||
async onSigin(){
|
||||
if(this.userInfo.pwd===this.userInfo.twoPwd){
|
||||
let newPwd= this.Encipher(this.userInfo.pwd)
|
||||
let data=await isSigin({email:this.userInfo.email,pwd1:newPwd,pwd2:newPwd,code:this.userInfo.code})
|
||||
console.log(data);
|
||||
}else{
|
||||
Toast.fail('两次密码不一致');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang="scss" scoped>
|
||||
.box{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: url('../../../assets/images/login-img/login_bg.png');
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.top{
|
||||
margin: 30px 0;
|
||||
img{
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
}
|
||||
.main{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 65%;
|
||||
.one{
|
||||
width: 240px;
|
||||
height: 385px;
|
||||
background: rgb(255,255,255,.7);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: -20px;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.two{
|
||||
width: 260px;
|
||||
height: 385px;
|
||||
background: rgb(255,255,255,.7);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: -10px;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.three{
|
||||
width: 280px;
|
||||
height: 385px;
|
||||
background: rgb(255,255,255,1);
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
.eles{
|
||||
width: 16px;
|
||||
height: 12px;
|
||||
}
|
||||
.pwd,.username,.lastCode,.lastPwd,.code{
|
||||
height: 40px;
|
||||
width: 70%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 13px;
|
||||
font-size: 12px;
|
||||
|
||||
border-bottom: 1px solid #ccc;
|
||||
.icon{
|
||||
width: 22px;
|
||||
height: 20px;
|
||||
}
|
||||
input{
|
||||
border: none;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
padding-left: 20px;
|
||||
|
||||
}
|
||||
}
|
||||
.username div{
|
||||
background: rgb(48,135,234);
|
||||
padding: 3px;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.btn{
|
||||
// display: inline-block;
|
||||
width: 70%;
|
||||
height: 30px;
|
||||
margin-top: 20px;
|
||||
background: rgb(48,135,234);
|
||||
border: 0;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.text{
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
// position: absolute;
|
||||
margin-top: 50px;
|
||||
color: #fff;
|
||||
p,span{
|
||||
font-size: 11px;
|
||||
}
|
||||
div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
.bot{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.botTop{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 120px;
|
||||
hr{
|
||||
width: 60px;
|
||||
background: #fff;
|
||||
}
|
||||
p{
|
||||
font-size: 13px;
|
||||
color: #fff;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,255 @@
|
|||
<template>
|
||||
<div class="bigBox" >
|
||||
|
||||
<MyHeader/>
|
||||
<!-- v-if="scroll>130" -->
|
||||
<div class="one" v-if="scroll>130" >
|
||||
<p>{{topCon}}</p>
|
||||
<div>
|
||||
<div class="inp" @click="$router.push('/home/search')">
|
||||
<span>病证、药品名称、医生姓名</span>
|
||||
</div>
|
||||
</div>
|
||||
<img src="../../../assets/images/icon/common_nav_message_black_n.png" alt="">
|
||||
</div>
|
||||
<div class="bigTop1" >
|
||||
<div class="bigTop">
|
||||
<ul class="top">
|
||||
<li v-for="(item,index) in menuList" :key="index" @click="changeTit(index,item.id)" :class="tabTopTitle===index?'active':''">
|
||||
{{item.departmentName}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<van-icon name="search" @click="goSearch"/>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
finished-text="没有更多了"
|
||||
@load="onLoad"
|
||||
>
|
||||
<div class="everyList" v-for="(v,i) in conList" :key="i" @click="handleDetail(v.sickCircleId)">
|
||||
<h3>{{v.title}}</h3>
|
||||
<p class="twoCol">{{v.releaseTime}}
|
||||
<span v-if="v.amount">{{v.amount}}H币</span>
|
||||
</p>
|
||||
<p>{{v.detail}}</p>
|
||||
<ul>
|
||||
<li>建议{{v.commentNum}}</li>
|
||||
<li>收藏{{v.collectionNum}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</van-list>
|
||||
|
||||
</van-pull-refresh>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<TabBar>
|
||||
<template slot="home">
|
||||
<img src="../../../assets/images/icon/home.png" alt="" @click="$router.push('/')">
|
||||
</template>
|
||||
|
||||
<template slot="center">
|
||||
<img src="../../../assets/images/icon/center_active.png" @click="$router.push('/patientCircle/patientWrite')" alt="">
|
||||
</template>
|
||||
|
||||
<template slot="video">
|
||||
<img src="../../../assets/images/icon/video.png" @click="$router.push('/vedio')">
|
||||
</template>
|
||||
</TabBar>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {Toast} from 'vant'
|
||||
import {mixinTime} from '../../../mixins/mixins'
|
||||
import {getMenu,PatientCircleList} from '../../../getData/index'
|
||||
// import '../../../assets/images/'
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
menuList:[],
|
||||
tabTopTitle:0,
|
||||
conList:[],
|
||||
tabId:7,
|
||||
isLoading: false,
|
||||
loading: false,
|
||||
finished: false,
|
||||
page:1,
|
||||
topCon:'内科',
|
||||
scroll:0
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//滚动
|
||||
scrollToTop(){
|
||||
let scrollTop=document.documentElement.scrollTop
|
||||
// console.log(scrollTop);
|
||||
this.scroll=scrollTop
|
||||
},
|
||||
onLoad() {
|
||||
// this.loading = false;
|
||||
this.page++
|
||||
this.getList()
|
||||
},
|
||||
onRefresh() {
|
||||
this.page=1
|
||||
this.conList=[],
|
||||
this.getList()
|
||||
this.isLoading = false;
|
||||
|
||||
},
|
||||
goSearch(){
|
||||
this.$router.push('/patientCircle/patientSearch')
|
||||
},
|
||||
//跳转详情页
|
||||
handleDetail(id){
|
||||
this.$router.push(`/patientCircle/patientDetail/${id}`)
|
||||
console.log(id);
|
||||
},
|
||||
changeTit(index,id){
|
||||
console.log(index,id);
|
||||
this.tabTopTitle=index
|
||||
this.tabId=id
|
||||
this.conList=[]
|
||||
this.page=1
|
||||
this.getList()
|
||||
this.topCon=this.menuList[index].departmentName
|
||||
},
|
||||
async MenuList(){
|
||||
let {data}=await getMenu()
|
||||
this.menuList=data.result
|
||||
console.log(this.menuList);
|
||||
},
|
||||
async getList(){
|
||||
let {data}=await PatientCircleList({departmentId:this.tabId,page:this.page,count:7})
|
||||
if(data.result.length>0){
|
||||
data.result.forEach(v=>{
|
||||
let releaseTime=this.changeTime(v.releaseTime)
|
||||
let a=Object.assign({...v},{releaseTime})
|
||||
this.conList.push(a)
|
||||
})
|
||||
Toast.success('加载完成')
|
||||
this.loading = false;
|
||||
|
||||
|
||||
}else{
|
||||
this.finished = true;
|
||||
Toast.fail('我是有底线的')
|
||||
}
|
||||
console.log(data);
|
||||
|
||||
// this.conList=data.result
|
||||
}
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.MenuList()
|
||||
this.getList()
|
||||
window.addEventListener("scroll", this.scrollToTop);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100%;
|
||||
background: rgb(239,239,239);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.one{
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
height: 50px;
|
||||
position: sticky;
|
||||
top: -3px;
|
||||
background: #fff;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
p{
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
color: rgb(48,135,235);
|
||||
}
|
||||
img{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
.inp {
|
||||
border: 1px solid #ccc;
|
||||
height: 30px;
|
||||
border-radius: 20px;
|
||||
width: 235px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
font-size: 12px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bigTop1{
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.van-icon{
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
.bigTop{
|
||||
width: 90%;
|
||||
height: 40px;
|
||||
line-height: 33px;
|
||||
background: #fff;
|
||||
overflow-x: scroll;
|
||||
margin-top: 5px;
|
||||
margin-left: 5px;
|
||||
.top{
|
||||
width: 150%;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
.active{
|
||||
color: rgb(66,145,235);
|
||||
}
|
||||
}
|
||||
}
|
||||
.main{
|
||||
.everyList{
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
padding: 0 20px;
|
||||
text-align: left;
|
||||
.twoCol{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
span{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
h3,p{
|
||||
line-height: 30px;
|
||||
}
|
||||
h3{
|
||||
padding-top: 10px;
|
||||
}
|
||||
ul{
|
||||
text-align: right;
|
||||
li{
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,312 @@
|
|||
<template>
|
||||
<div>
|
||||
detail
|
||||
<div class="bigBox">
|
||||
<MyHeader/>
|
||||
<div class="main">
|
||||
<h3>{{list.title}}</h3>
|
||||
<div class="everyBox">
|
||||
<h4>[病症]</h4>
|
||||
<p>{{list.disease}}</p>
|
||||
</div>
|
||||
|
||||
<div class="everyBox">
|
||||
<h4>[科室]</h4>
|
||||
<p>{{list.department}}</p>
|
||||
</div>
|
||||
|
||||
<div class="everyBox">
|
||||
<h4>[病症详情]</h4>
|
||||
<p>{{list.detail}}</p>
|
||||
</div>
|
||||
|
||||
<div class="everyBox">
|
||||
<h4>[治疗经理]</h4>
|
||||
<p>{{list.treatmentHospital}}</p>
|
||||
<p>{{list.treatmentProcess}}</p>
|
||||
</div>
|
||||
|
||||
<div class="everyBox">
|
||||
<h4>[相关图片]</h4>
|
||||
<img :src="list.picture" alt="" class="imgOne">
|
||||
<div class="controls">
|
||||
<div class="like" @click="addLike">
|
||||
<img src="../../../assets/images/icon/common_button_collection_large_n.png" v-if="list.collectionFlag==2">
|
||||
<img src="../../../assets/images/icon/common_button_collection_large_s.png" v-else-if="list.collectionFlag==1">
|
||||
<span>{{list.collectionNum}}</span>
|
||||
</div>
|
||||
<div class="review" @click="handlePl">
|
||||
<img src="../../../assets/images/icon/common_icon_comment_large_n.png">
|
||||
<span>{{list.commentNum}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="everyBox">
|
||||
<h4>[被采纳的建议]</h4>
|
||||
<div class="user">
|
||||
<img :src="list.adoptHeadPic" alt="" class="imgTwo">
|
||||
<span>{{list.adoptNickName}}</span>
|
||||
</div>
|
||||
<p>{{list.adoptComment}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pl-box" v-if="plShow">
|
||||
<div class="con">
|
||||
<dl v-for="(item,index) in plList" :key="index">
|
||||
<dt>
|
||||
<img :src="item.headPic" alt="">
|
||||
</dt>
|
||||
<dd>
|
||||
<span>{{item.nickName}}</span>
|
||||
<p> {{item.content}}</p>
|
||||
<div class="con-bot">
|
||||
<span>
|
||||
{{item.commentTime}}
|
||||
</span>
|
||||
<!-- commentId -->
|
||||
<div @click="handleGood(item.commentId)">
|
||||
<img src="../../../assets/images/icon/common_icon_agree_s.png" v-if="list.opinion!=2">
|
||||
<img src="../../../assets/images/icon/common_icon_agree_n.png" v-else>
|
||||
<span>{{item.supportNum}}</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<img src="../../../assets/images/icon/common_icon_disagree_n.png" >
|
||||
<span>{{item.opposeNum}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="btnInp">
|
||||
<h2 @click="gb">关闭</h2>
|
||||
<input type="text" v-model="inp">
|
||||
<h2 @click="okPl">发布</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import '../../../assets/images/icon/'
|
||||
import { Toast } from 'vant'
|
||||
import {mixinTime} from '../../../mixins/mixins'
|
||||
import {PatientCircleDetail,cancelLike,patientsPlList,patientsPl,adoptPl} from '../../../getData/index'
|
||||
import {addLike} from '../../../getData/index'
|
||||
export default {
|
||||
mixins:[mixinTime],
|
||||
data(){
|
||||
return{
|
||||
good:false,
|
||||
id:0,
|
||||
list:{},
|
||||
plShow:false,
|
||||
plList:[],
|
||||
inp:''
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getId()
|
||||
},
|
||||
mounted(){
|
||||
this.getDetail()
|
||||
},
|
||||
methods:{
|
||||
//评论区内的采纳
|
||||
|
||||
// 关闭评论区
|
||||
gb(){
|
||||
this.plShow=false
|
||||
},
|
||||
//评论区采纳
|
||||
async handleGood(id){
|
||||
let data=await adoptPl({commentId:id*1,sickCircleId:this.id*1})
|
||||
console.log(data);
|
||||
// this.patientsPlList()
|
||||
this.good=true
|
||||
},
|
||||
//发布评论
|
||||
async okPl(){
|
||||
let {data}=await patientsPl({sickCircleId:this.id,content:this.inp})
|
||||
console.log(data);
|
||||
if(data.status==='0000'){
|
||||
this.patientsPlList()
|
||||
}
|
||||
},
|
||||
//喜欢
|
||||
async addLike(){
|
||||
if(this.list.collectionFlag==2){
|
||||
let {data}=await addLike({sickCircleId:this.id*1})
|
||||
console.log(data);
|
||||
if(data.status=='0000'){
|
||||
Toast.success('收藏成功')
|
||||
}
|
||||
this.list.collectionFlag=1
|
||||
}else if(this.list.collectionFlag==1){
|
||||
let {data}=await cancelLike({sickCircleId:this.id*1})
|
||||
console.log(data);
|
||||
if(data.status=='0000'){
|
||||
Toast.success('取消收藏')
|
||||
}
|
||||
this.list.collectionFlag=2
|
||||
}
|
||||
},
|
||||
//评论
|
||||
async patientsPlList(){
|
||||
let {data}=await patientsPlList({sickCircleId:this.id,page:1,count:5})
|
||||
data.result.forEach(v=>{
|
||||
let commentTime=this.changeTime(v.commentTime)
|
||||
let a=Object.assign({},{...v},{commentTime})
|
||||
this.plList.push(a)
|
||||
})
|
||||
console.log(this.plList);
|
||||
// this.plList=data.result
|
||||
},
|
||||
handlePl(){
|
||||
this.plShow=true
|
||||
this.patientsPlList()
|
||||
},
|
||||
getId(){
|
||||
// console.log(this.$route.params.id);
|
||||
// this.$nextTick(()=>{
|
||||
this.id=this.$route.params.id
|
||||
// })
|
||||
|
||||
},
|
||||
async getDetail(){
|
||||
console.log(this.id);
|
||||
let {data}=await PatientCircleDetail({sickCircleId:this.id})
|
||||
console.log(data);
|
||||
this.list=data.result
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bigBox{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgb(244,244,244);
|
||||
// background: red;
|
||||
.main{
|
||||
margin-top: 10px;
|
||||
background: #fff;
|
||||
text-align: left;
|
||||
padding: 3px 20px;
|
||||
h3,h4{
|
||||
color:rgb(48,135,234);
|
||||
}
|
||||
.everyBox{
|
||||
margin-top: 15px;
|
||||
p{
|
||||
line-height: 30px;
|
||||
}
|
||||
.imgOne{
|
||||
width: 100%;
|
||||
}
|
||||
.imgTwo{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.user{
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.controls{
|
||||
display: flex;
|
||||
padding-left: 230px;
|
||||
height: 45px;
|
||||
.like{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span{
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
.review{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 10px;
|
||||
span{
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.pl-box{
|
||||
z-index: 1;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
padding-top: 200px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
overflow-y: scroll;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
.btnInp{
|
||||
display: flex;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
// background: red;
|
||||
color: black;
|
||||
justify-content: space-around;
|
||||
input{
|
||||
height: 40px;
|
||||
border-radius: 10px;
|
||||
border: none;
|
||||
color: black;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
dl{
|
||||
height: 130px;
|
||||
// background: #fff;
|
||||
margin: 10px 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
dt{
|
||||
img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
dd{
|
||||
// background: red;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 10px;
|
||||
width: 280px;
|
||||
text-align: left;
|
||||
padding: 20px;
|
||||
height: 110px;
|
||||
margin-left: 20px;
|
||||
.con-bot{
|
||||
display: flex;
|
||||
}
|
||||
div{
|
||||
span{
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
p{
|
||||
margin-top: 20px;
|
||||
}
|
||||
img{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|