This commit is contained in:
Paidax
2025-09-17 10:43:22 +08:00
parent 9821aebd0a
commit b7faf07236
12 changed files with 403 additions and 63 deletions
@@ -1,7 +1,7 @@
const INFO = {
template: /*language=HTML*/ `
<van-action-sheet v-model="visible" title="查看详情">
<div>
<div class="detail-container">
<van-cell-group title="基本信息">
<van-cell title="填写人姓名">{{viewData.proxyUserName}}</van-cell>
<van-cell title="填写人工号">{{viewData.proxyLoginName}}</van-cell>
@@ -0,0 +1,31 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<div id="app">
<van-sticky>
<van-nav-bar title="咨询师预约" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
</van-sticky>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
pageForm: {
pageNum: 1,
pageSize: 10,
searchKeyword: '',
}
}
},
methods: {
historyBack,
},
created() {
}
});
</script>
<!--#
}
#-->
@@ -0,0 +1,62 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<style scoped>
.container {
margin: 0 auto;
padding: 15px;
}
</style>
<div id="app">
<van-sticky>
<van-nav-bar title="咨询师列表" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
<van-search
v-model="pageForm.searchKeyword"
placeholder="请输入工号或者姓名进行查询"
show-action
:reverse-color="false"
input-align="left"
@search="doSearch">
<template #action>
<div @click="doSearch">搜索</div>
</template>
</van-search>
</van-sticky>
<div class="container">
<div >
<div class="consultant-list">
</div>
</div>
</div>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
consultantList: []
}
},
methods: {
historyBack,
async pageData(){
const resp = await this.$axios.post('/platform/psychology/index/listConsultantByH5')
if (resp.code === 0) {
this.consultantList = resp.data
}
}
},
created() {
}
});
</script>
<!--#
}
#-->
@@ -0,0 +1,181 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<style scoped>
.container {
margin: 0 auto;
padding: 15px;
}
.grid-menu {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
margin-bottom: 20px;
height: 100px;
background: white;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
border-radius: 12px;
}
.menu-item {
padding: 10px;
text-align: center;
cursor: pointer;
}
.menu-item img {
border-radius: 8px;
width: 100%;
}
.menu-text {
font-size: 13px;
color: #3498db;
}
.consultant, .article {
margin-bottom: 20px;
height: 200px;
background: white;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
border-radius: 12px;
}
.consultant-list {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
padding: 2px 14px;
}
.consultant-title {
display: flex;
justify-content: space-between;
padding: 10px 15px;
}
.consultant-item {
padding: 0;
text-align: center;
cursor: pointer;
}
.consultant-item img {
border-radius: 3px 8px;
border: 1px solid #3498db;
width: 100%;
height: 115px;
}
.consultant-name{
font-size: 14px;
color: #000000;
}
</style>
<div id="app">
<van-nav-bar title="心理咨询" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
<div class="container">
<!-- 入口 -->
<div class="grid-menu">
<div v-for="item in menuList" :key="item.name" class="menu-item" @click="enterQuick">
<div class="menu-icon">
<img slot="icon" :src="item.icon">
</div>
<div class="menu-text">
{{ item.name }}
</div>
</div>
</div>
<!-- 咨询师列表 -->
<div class="consultant">
<div class="consultant-title">
<div style="font-weight: bold;font-size: 19px">
推荐咨询师
</div>
<div style="color: gray;font-size: 14px" @click="showAllConsultant">更多>></div>
</div>
<div v-if="consultantList && consultantList.length > 0" class="consultant-list">
<div v-for="(item, index) in consultantList" :key="index"
class="consultant-item" @click="showConsultant(item)">
<div class="consultant-avatar">
<img slot="icon" :src="item.avatar">
</div>
<div class="consultant-name">
{{ item.userName }}
</div>
</div>
</div>
<div v-else>
<div style="text-align: center;padding: 20px">
暂无数据
</div>
</div>
</div>
<!-- 文章列表 -->
<div class="article">
<div class="article-title" style="padding: 10px 15px;">
<div style="font-weight: bold;font-size: 19px">
文章列表
</div>
</div>
</div>
</div>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
menuList: [
{name: '通知公告', icon: 'https://img01.yzcdn.cn/vant/apple-1.jpg', url: '/platform/h5/home'},
{name: '预约日历', icon: 'https://img01.yzcdn.cn/vant/apple-1.jpg', url: '/platform/h5/home'},
{name: '分类预约', icon: 'https://img01.yzcdn.cn/vant/apple-1.jpg', url: '/platform/h5/home'},
{name: '咨询师列表', icon: 'https://img01.yzcdn.cn/vant/apple-1.jpg', url: '/platform/h5/home'},
],
consultantList: []
}
},
methods: {
historyBack,
// 快速入口跳转
enterQuick(item) {
console.log(item)
},
// 查看所有咨询师,跳转到咨询师列表页面
showAllConsultant(){
},
// 查看单个咨询师,跳转到这个咨询师的详情页面
showConsultant(item){
console.log(item)
},
// 查询咨询师列表
async listConsultant(){
const resp = await this.$axios.post('/platform/psychology/index/listConsultantByH5')
if (resp.code === 0) {
this.consultantList = resp.data
}
}
},
created() {
this.listConsultant()
}
});
</script>
<!--#
}
#-->