提交
24
pages.json
@@ -35,6 +35,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/medicalRecords/PendingApprovalIndex",
|
||||
"style": {
|
||||
"navigationBarTitleText": "待审核医案",
|
||||
"enablePullDownRefresh": true, // 禁止下拉刷新
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"titleNView": false,
|
||||
"popGesture": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/articleList/index",
|
||||
"style": {
|
||||
@@ -59,6 +71,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/medicalRecords/evaluateDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "医案",
|
||||
"enablePullDownRefresh": true, // 禁止下拉刷新
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"titleNView": false,
|
||||
"popGesture": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/articleList/article",
|
||||
|
||||
@@ -187,6 +187,7 @@ export default {
|
||||
fileList1: [],
|
||||
|
||||
containerHeight: null,
|
||||
pollInterval: null,
|
||||
formData: {
|
||||
message: "",
|
||||
},
|
||||
@@ -776,11 +777,12 @@ export default {
|
||||
const poll = () => {
|
||||
this.getMedicalDetail(() => {
|
||||
// 停止轮询
|
||||
clearInterval(pollInterval);
|
||||
clearInterval(this.pollInterval);
|
||||
this.pollInterval = null;
|
||||
});
|
||||
};
|
||||
// 每5秒发送一次请求,直到收到正确的响应
|
||||
const pollInterval = setInterval(poll, 5000);
|
||||
this. pollInterval = setInterval(poll, 5000);
|
||||
|
||||
//调用后端 SSE 接口,发送问题并接收实时回答
|
||||
// this.startSSE(params);
|
||||
@@ -1183,9 +1185,11 @@ export default {
|
||||
},
|
||||
},
|
||||
onHide() {
|
||||
|
||||
this.closeWebSocket();
|
||||
},
|
||||
onUnload() {
|
||||
this.pollInterval()
|
||||
this.closeWebSocket();
|
||||
},
|
||||
};
|
||||
|
||||
@@ -176,7 +176,8 @@ export default {
|
||||
this.tabsList = [
|
||||
{ id: 0, title: "草稿箱", statusTitle: '' },
|
||||
{ id: 1, title: "待审核",statusTitle: '待审核',color:'#f59442' },
|
||||
{ id: 3, title: "已通过",statusTitle: '已通过' ,color:'#22be98' },
|
||||
{ id: 3, title: "质量检测中",statusTitle: '检测中' ,color:'#22be98' },
|
||||
{ id: 4, title: "已通过",statusTitle: '已通过' ,color:'#22be98' },
|
||||
{ id: 2, title: "未通过",statusTitle: '未通过',color:"#e78084" },
|
||||
];
|
||||
this.taihumedId = this.tabsList[0].id;
|
||||
|
||||
51
pages/component/commonComponents/DepartmentMenu.vue
Normal file
@@ -0,0 +1,51 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="department_item"
|
||||
:class="deptLabelId == item.id ? 'department_active' : ''"
|
||||
v-for="(item, index) in chatAssistants"
|
||||
:key="index"
|
||||
@click.stop="click_department(item, index)">
|
||||
<text>{{ item.title }}</text>
|
||||
<!-- 递归显示子菜单 -->
|
||||
<view v-if="item.children && item.children.length > 0">
|
||||
<department-menu :chat-assistants="item.children" @item-click="click_department"></department-menu>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DepartmentMenu from "../commonComponents/DepartmentMenu.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
DepartmentMenu
|
||||
},
|
||||
props: {
|
||||
chatAssistants: {
|
||||
type: Array,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
click_department(item, index) {
|
||||
this.$emit('item-click', item, index); // 向父组件传递点击事件
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.department_item {
|
||||
padding-left: 10px; /* 左侧缩进 */
|
||||
}
|
||||
|
||||
.department_active {
|
||||
color: #ff4500; /* 选中的菜单项颜色 */
|
||||
}
|
||||
|
||||
.department_item > .department_item {
|
||||
padding-left: 20px; /* 子菜单项的缩进 */
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
:backState="2000"
|
||||
></z-nav-bar>
|
||||
<view class="doctors_module" :style="`top: ${42 + statusBarHeight}px;`">
|
||||
<view class="tab-bar">
|
||||
<!-- <view class="tab-bar">
|
||||
<view
|
||||
class="tab-item left-tab"
|
||||
:class="{ active: activeTab === 0 }"
|
||||
@@ -22,9 +22,9 @@
|
||||
>
|
||||
名医天地
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<template v-if="activeTab == 0">
|
||||
<view class="cateList flexbox" style="background-color: #fff">
|
||||
<view class="cateList flexbox" >
|
||||
<common-sticky
|
||||
itemStyle="width:33.3%; height: 38px;font-size:24rpx;"
|
||||
:list="tabsList"
|
||||
@@ -58,14 +58,15 @@
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
|
||||
<!-- height: calc(100vh - ${activeTab==0?320:280}rpx);
|
||||
margin-top: ${activeTab==0?280:180}rpx; -->
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
:scroll-top="scrollTop"
|
||||
@scrolltolower="loadMore"
|
||||
:style="`
|
||||
height: calc(100vh - ${activeTab==0?320:280}rpx);
|
||||
margin-top: ${activeTab==0?260:180}rpx;
|
||||
height: calc(100vh - ${activeTab==0?280:280}rpx);
|
||||
margin-top: ${activeTab==0?180:180}rpx;
|
||||
padding-bottom: 140rpx;`
|
||||
"
|
||||
v-if="show == true"
|
||||
@@ -93,14 +94,23 @@
|
||||
></image>
|
||||
|
||||
<view class="item_right" v-if="currentCateIndex != 2">
|
||||
<view class="item_top">
|
||||
<!-- <view class="item_top">
|
||||
<text
|
||||
class="item_name"
|
||||
v-if="item.taihuTalent && item.taihuTalent.length > 0"
|
||||
>{{ item.taihuTalent[0].name }}</text
|
||||
>
|
||||
</view>
|
||||
</view> -->
|
||||
<text class="item_con">{{ item.title }}</text>
|
||||
<view class="item_info hidden2" style="margin-top: 20rpx;">
|
||||
<rich-text style="color: #666;"
|
||||
|
||||
:nodes="item.content"
|
||||
|
||||
v-if="item.content"
|
||||
></rich-text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="item_right" v-else>
|
||||
@@ -424,7 +434,7 @@ else{
|
||||
background-color: #fff;
|
||||
}
|
||||
.doctors_list {
|
||||
margin: 0 30rpx 20rpx;
|
||||
margin: 0 20rpx 20rpx;
|
||||
}
|
||||
.doctors_item {
|
||||
border: 1rpx solid $themeColor;
|
||||
@@ -602,4 +612,9 @@ else{
|
||||
box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.04),
|
||||
/* 外部柔光阴影 */ inset -4rpx 0 6rpx rgba(0, 0, 0, 0.03); /* 内阴影模拟夹层效果 */
|
||||
}
|
||||
.hidden2{
|
||||
line-height: 24px;
|
||||
max-height: 48px;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
473
pages/medicalRecords/PendingApprovalIndex.vue
Normal file
@@ -0,0 +1,473 @@
|
||||
<template>
|
||||
<view class="content" style="background-color: #d8e6ff57">
|
||||
<z-nav-bar title="待审批医案" bgColor="#5188e5" fontColor="#fff">
|
||||
|
||||
</z-nav-bar>
|
||||
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
:scroll-top="scrollTop"
|
||||
@scrolltolower="loadMore"
|
||||
style="
|
||||
height: calc(100vh - 140rpx);
|
||||
margin-top: 40rpx;
|
||||
padding-bottom: 120rpx;
|
||||
"
|
||||
v-if="show == true"
|
||||
>
|
||||
<view class="doctors_list" id="top">
|
||||
<view
|
||||
class="doctors_item"
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
@click="goToDetail(item)"
|
||||
>
|
||||
<view class="flex">
|
||||
<view class="flex">
|
||||
|
||||
|
||||
<view class="item_right">
|
||||
<view style="display: flex; align-items: center">
|
||||
<text class="card_label" v-if="statusTitle" :style="`background-color:${statusColor} ;`">{{ statusTitle }}</text>
|
||||
<text class="item_time">{{ item.createTime }}</text></view
|
||||
>
|
||||
|
||||
<view class="item_top">
|
||||
<view class="item_name">{{ item.title }}</view>
|
||||
<rich-text
|
||||
class="item_content"
|
||||
:nodes="item.information"
|
||||
></rich-text>
|
||||
<!-- <rich-text
|
||||
class="item_content"
|
||||
:nodes="item.chiefComplaint"
|
||||
></rich-text> -->
|
||||
</view>
|
||||
<view style="margin-top: 20rpx" v-if="item.img">
|
||||
<u-upload
|
||||
:fileList="item.fileList1"
|
||||
multiple
|
||||
width="50"
|
||||
height="50"
|
||||
:disabled="true"
|
||||
:previewFullImage="true"
|
||||
@click.stop="handleClick"
|
||||
>
|
||||
</u-upload>
|
||||
</view>
|
||||
|
||||
<view class="list_item_bt">
|
||||
|
||||
<text class="list_item_study">去评价</text>
|
||||
</view>
|
||||
<!-- <text class="item_con">{{ item.taihuTalent.map(talent => talent.name).join(' ') }}</text> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<text v-show="showText && count > list.length" class="show-more"
|
||||
>加载更多</text
|
||||
>
|
||||
<text v-show="noMore" class="no-more">没有更多了</text>
|
||||
</scroll-view>
|
||||
<text class="null_text" v-else>{{ null_text }}</text>
|
||||
<z-navigation></z-navigation>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import { mapState } from "vuex";
|
||||
export default {
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
list: [],
|
||||
null_text: "",
|
||||
|
||||
current: 1,
|
||||
limit: 10,
|
||||
courseName: "",
|
||||
taihumedId: 3,
|
||||
statusTitle: '',
|
||||
statusColor: '',
|
||||
|
||||
timer: null,
|
||||
showText: false,
|
||||
noMore: false,
|
||||
show: null,
|
||||
count: 0,
|
||||
scrollTop: 0, //滚动位置
|
||||
isRefreshing: false, //刷新状态
|
||||
};
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.isRefreshing = true;
|
||||
console.log("下拉刷新");
|
||||
|
||||
setTimeout(() => {
|
||||
this.current = 1;
|
||||
this.list = [];
|
||||
this.noMore = false;
|
||||
|
||||
this.getListData(3);
|
||||
uni.stopPullDownRefresh();
|
||||
this.isRefreshing = false;
|
||||
console.log("下拉刷新已停止");
|
||||
}, 800);
|
||||
},
|
||||
onLoad() {
|
||||
uni.hideTabBar();
|
||||
this.getTabData();
|
||||
},
|
||||
onShow() {
|
||||
this.getListData(this.taihumedId);
|
||||
},
|
||||
methods: {
|
||||
createFolder() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/medicalRecords/medical?navTitle=创建医案&title=创建医案&type=add`,
|
||||
});
|
||||
},
|
||||
//判断显示‘上/中/下’
|
||||
formatContent(content) {
|
||||
const keywords = ["上部", "中部", "下部"];
|
||||
let result = [];
|
||||
|
||||
// 判断是否包含关键字
|
||||
keywords.forEach((keyword) => {
|
||||
if (content.includes(keyword)) {
|
||||
result.push(keyword.substring(0, 1));
|
||||
}
|
||||
});
|
||||
return result.join("");
|
||||
},
|
||||
//获取tab数据
|
||||
getTabData() {
|
||||
// this.$http.request({
|
||||
// url: 'taihumed/course/getCourseTaihumedList',
|
||||
// method: "POST",
|
||||
// data: {},
|
||||
// header: {
|
||||
// "Content-Type": "application/json",
|
||||
// },
|
||||
// })
|
||||
// .then(res=> {
|
||||
// if (res.list&&res.list.length>0) {
|
||||
this.tabsList = [ ];
|
||||
this.taihumedId = 3;
|
||||
this.statusTitle = '';
|
||||
this.statusColor = '';
|
||||
this.getListData(this.taihumedId);
|
||||
// }
|
||||
// });
|
||||
},
|
||||
//获取列表数据
|
||||
getListData(taihumedId, type) {
|
||||
// if (type) {
|
||||
// this.current = 1;
|
||||
// this.list = [];
|
||||
// this.noMore = false;
|
||||
// }
|
||||
// if (this.noMore) {
|
||||
// return false;
|
||||
// }
|
||||
uni.showLoading({
|
||||
title: "加载中",
|
||||
});
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/medicalRecords/getMedicalRecordsCheckList",
|
||||
method: "POST",
|
||||
data: {
|
||||
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
uni.hideLoading();
|
||||
// 过滤不包含自己的用户ID的对象
|
||||
this.list = [...res.list].filter(item => {
|
||||
// 判断是否有 stateInfo 属性,且它不包含用户ID,或者为空字符串
|
||||
return !item.stateInfo || item.stateInfo === "" || !item.stateInfo.includes(this.userInfo.id.toString());
|
||||
});
|
||||
|
||||
console.log('this.list at line 191:', this.list)
|
||||
this.show = true;
|
||||
this.count = this.list.length; //总数
|
||||
let length = this.list.length;
|
||||
if(length == 0){
|
||||
this.show = false;
|
||||
this.null_text = "暂无数据";
|
||||
}
|
||||
// if (res.medicalRecordsList && length > 0) {
|
||||
// this.show = true;
|
||||
// // //如果返回的数据少于每页数量,表示没有更多数据
|
||||
// // if(this.count==length || length < this.limit ||this.count/this.current==this.limit){
|
||||
// // this.noMore = true;
|
||||
// // }
|
||||
// // this.list = [...this.list, ...res.pageRes.records];
|
||||
// // this.current += 1; //更新页码
|
||||
// // //显示提示语
|
||||
// // this.showText = true;
|
||||
|
||||
// // if(this.current==2||type){
|
||||
// // this.scrollTop = 0
|
||||
// // this.$nextTick(() => {
|
||||
// // this.scrollTop = 0.1; // 确保触发滚动
|
||||
// // })
|
||||
// // }
|
||||
// } else {
|
||||
// this.show = false;
|
||||
// this.null_text = "暂无数据";
|
||||
// }
|
||||
});
|
||||
},
|
||||
//加载更多
|
||||
loadMore() {
|
||||
this.getListData(this.taihumedId);
|
||||
},
|
||||
//切换tab状态
|
||||
ordersTabCLi(data, index) {
|
||||
this.currentCateIndex = index;
|
||||
this.courseName = "";
|
||||
this.taihumedId = data.id;
|
||||
this.statusTitle = data.statusTitle;
|
||||
this.statusColor = data.color;
|
||||
//重置
|
||||
this.list = [];
|
||||
this.noMore = false;
|
||||
this.show = false;
|
||||
this.count = 0;
|
||||
this.current = 1;
|
||||
this.getListData(this.taihumedId);
|
||||
},
|
||||
//详情
|
||||
goToDetail(item) {
|
||||
if (this.isRefreshing) return;
|
||||
var navTitle = "";
|
||||
var type = "";
|
||||
navTitle = "医案详情";
|
||||
type = "detail";
|
||||
|
||||
uni.navigateTo({
|
||||
url: `/pages/medicalRecords/evaluateDetail?navTitle=${navTitle}&title=${navTitle}&id=${item.id}&type=${type}&statusId=${this.taihumedId}&isEvaluate=1`,
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "@/static/mixin.scss";
|
||||
.content {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: #fff;
|
||||
}
|
||||
.doctors_list {
|
||||
margin: 0 20rpx 20rpx;
|
||||
}
|
||||
.doctors_item {
|
||||
// border: 1rpx solid $themeColor;
|
||||
border-radius: 15rpx;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 12rpx 30rpx 60rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 1px 8px #e3e1e1;
|
||||
}
|
||||
.item_image {
|
||||
display: block;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
flex-shrink: 0;
|
||||
background: #f3f3f3;
|
||||
}
|
||||
.item_right {
|
||||
width: calc(100%);
|
||||
// margin-left: 30rpx;
|
||||
// padding-bottom: 20rpx;
|
||||
}
|
||||
.item_top {
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
// line-height: 30rpx;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
.item_name {
|
||||
font-size: 34rpx;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word; /* 避免长单词造成溢出 */
|
||||
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
.item_content {
|
||||
h1 {
|
||||
font-size: 28rpx;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
.item_title {
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
}
|
||||
.item_time {
|
||||
font-size: 26rpx;
|
||||
color: #aaacab;
|
||||
}
|
||||
.item_con {
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-top: 10rpx;
|
||||
line-height: 40rpx;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.null_text {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
padding-top: 300rpx;
|
||||
}
|
||||
.doctors_module {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
z-index: 99;
|
||||
left: 0;
|
||||
}
|
||||
.cateList {
|
||||
background: #f3f3f3;
|
||||
}
|
||||
.flex {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.name_search {
|
||||
background-color: #fff;
|
||||
padding: 20rpx 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
/deep/.is-input-border {
|
||||
background-color: #f3f3f3;
|
||||
border-radius: 50rpx;
|
||||
height: 60rpx;
|
||||
line-height: 30rpx;
|
||||
padding: 15rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
/deep/.uni-easyinput__content-input {
|
||||
}
|
||||
.name-placeholder {
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: $themeBgColor;
|
||||
font-size: 26rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 15rpx;
|
||||
color: #fff;
|
||||
padding: 5rpx 20rpx;
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
}
|
||||
.show-more,
|
||||
.no-more {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
font-size: 24rpx;
|
||||
padding-top: 5rpx;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.list_item_study {
|
||||
line-height: 48rpx;
|
||||
background: $themeBgColor;
|
||||
color: #fff;
|
||||
border-radius: 40rpx;
|
||||
font-size: 24rpx;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
.list_item_bt {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
bottom: 16rpx;
|
||||
}
|
||||
.list_item_price {
|
||||
font-size: 30rpx;
|
||||
font-weight: 500;
|
||||
margin-right: 30rpx;
|
||||
color: red;
|
||||
line-height: 54rpx;
|
||||
}
|
||||
.top_right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 30rpx;
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
padding-left: 2rpx;
|
||||
}
|
||||
}
|
||||
/deep/.u-upload__deletable {
|
||||
display: none !important;
|
||||
}
|
||||
/deep/.u-upload__button {
|
||||
display: none !important;
|
||||
}
|
||||
/* 状态样式 */
|
||||
.card_label {
|
||||
display: inline-block;
|
||||
padding: 0px 16rpx;
|
||||
background-color: #4caf50; /* 绿色背景 */
|
||||
color: white;
|
||||
// font-weight: bold;
|
||||
font-size: 12px;
|
||||
border-radius: 4px; /* 圆角 */
|
||||
position: relative; /* 用于斜角效果 */
|
||||
text-align: center;
|
||||
transform: skew(-20deg); /* 倾斜效果 */
|
||||
margin-right: 20rpx; /* 如果有多个标签时,之间保持间距 */
|
||||
line-height: 38rpx;
|
||||
}
|
||||
|
||||
/* 斜角效果 */
|
||||
// .card_label::after {
|
||||
// content: '';
|
||||
// position: absolute;
|
||||
// top: 0;
|
||||
// right: -10px;
|
||||
// width: 20px;
|
||||
// height: 20px;
|
||||
// background-color: inherit;
|
||||
// transform: rotate(45deg); /* 旋转45度,形成斜角 */
|
||||
// z-index: -1;
|
||||
// }
|
||||
</style>
|
||||
1712
pages/medicalRecords/evaluateDetail.vue
Normal file
@@ -11,7 +11,7 @@
|
||||
<view class="doctors_module" :style="`top: ${42 + statusBarHeight}px;`">
|
||||
<view class="cateList flexbox" style="background-color: #fff">
|
||||
<common-sticky
|
||||
itemStyle="width:25%; height: 38px;font-size:24rpx;"
|
||||
itemStyle="width:20%; height: 38px;font-size:24rpx;"
|
||||
:list="tabsList"
|
||||
label="title"
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@@ -43,6 +43,7 @@
|
||||
<view class="doctors_list" id="top">
|
||||
<view
|
||||
class="doctors_item"
|
||||
:style="taihumedId == 4 ? 'padding-bottom:80rpx;' : ''"
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
@click="goToDetail(item)"
|
||||
@@ -64,12 +65,75 @@
|
||||
|
||||
<view class="item_right">
|
||||
<view style="display: flex; align-items: center">
|
||||
<text class="card_label" v-if="statusTitle" :style="`background-color:${statusColor} ;`">{{ statusTitle }}</text>
|
||||
<text
|
||||
class="card_label"
|
||||
v-if="statusTitle"
|
||||
:style="`background-color:${statusColor} ;`"
|
||||
>{{item.state==4?'质检未通过': statusTitle }}</text
|
||||
>
|
||||
<image
|
||||
v-if="currentCateIndex == 3 && item.state == 6"
|
||||
style="
|
||||
height: 60rpx;
|
||||
width: 60rpx;
|
||||
position: absolute;
|
||||
right: 16rpx;
|
||||
top: 0rpx;
|
||||
"
|
||||
src="../../static/icon/aa.png"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
|
||||
<image
|
||||
v-if="currentCateIndex == 3 && item.state == 5"
|
||||
style="
|
||||
height: 60rpx;
|
||||
width: 60rpx;
|
||||
position: absolute;
|
||||
right: 16rpx;
|
||||
top: 0rpx;
|
||||
"
|
||||
src="../../static/icon/bb.png"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
<image
|
||||
v-if="currentCateIndex == 4 && item.state == 4"
|
||||
style="
|
||||
height: 60rpx;
|
||||
width: 60rpx;
|
||||
position: absolute;
|
||||
right: 16rpx;
|
||||
top: 0rpx;
|
||||
"
|
||||
src="../../static/icon/cc.png"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
<text class="item_time">{{ item.createTime }}</text></view
|
||||
>
|
||||
|
||||
<view class="item_top">
|
||||
<view class="item_name">{{ item.title }}</view>
|
||||
<view
|
||||
class="item_top"
|
||||
:style="`${currentCateIndex == 4 ? 'opacity: 0.5;' : ''}${
|
||||
currentCateIndex == 0 ? 'margin-top:0;' : ''
|
||||
}`"
|
||||
>
|
||||
<view
|
||||
class="item_name"
|
||||
:style="
|
||||
currentCateIndex != 3
|
||||
? 'width:100%;'
|
||||
: 'width:calc(100% - 100rpx);display: flex;align-items: center;'
|
||||
"
|
||||
>{{ item.title }}
|
||||
|
||||
<image
|
||||
v-if="currentCateIndex == 3 && item.state == 6"
|
||||
style="height: 50rpx; width: 50rpx; margin-left: 10rpx"
|
||||
src="../../static/icon/jing2.png"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
</view>
|
||||
|
||||
<rich-text
|
||||
class="item_content"
|
||||
:nodes="item.information"
|
||||
@@ -79,7 +143,10 @@
|
||||
:nodes="item.chiefComplaint"
|
||||
></rich-text> -->
|
||||
</view>
|
||||
<view style="margin-top: 20rpx" v-if="item.img">
|
||||
<view
|
||||
style="margin-top: 20rpx"
|
||||
v-if="item.img && taihumedId == 0"
|
||||
>
|
||||
<u-upload
|
||||
:fileList="item.fileList1"
|
||||
multiple
|
||||
@@ -92,11 +159,43 @@
|
||||
</u-upload>
|
||||
</view>
|
||||
|
||||
<view class="list_item_bt">
|
||||
<view
|
||||
class="list_item_bt"
|
||||
:style="
|
||||
taihumedId == 4
|
||||
? 'width: 100%;display: block;align-items: center;justify-content: space-between;right: 0;padding:0 20rpx;'
|
||||
: ''
|
||||
"
|
||||
>
|
||||
<view
|
||||
@click.stop="changeShowFlag(item)"
|
||||
v-if="taihumedId == 4"
|
||||
:style="`color: ${
|
||||
item.showFlag == 1 ? '#5188e5' : '#5e6d82'
|
||||
};display: flex;align-items: center;`"
|
||||
>
|
||||
<text style="margin-right: 10rpx"
|
||||
>是否在我的医案中展示</text
|
||||
>
|
||||
<uni-icons
|
||||
:color="item.showFlag == 1 ? '#5188e5' : '#5e6d82'"
|
||||
:type="
|
||||
item.showFlag == 0 ? 'eye-slash-filled' : 'eye-filled'
|
||||
"
|
||||
size="24"
|
||||
></uni-icons>
|
||||
</view>
|
||||
<!-- <view @click.stop="changeShowFlag(item)" v-if="taihumedId == 4" :style="`color: ${item.article_flag==1?'#5188e5':'#5e6d82'};display: flex;align-items: center;`">
|
||||
<text style="margin-right: 10rpx;">是否在我的文章中展示</text>
|
||||
<uni-icons :color="item.article_flag==1?'#5188e5':'#5e6d82'" :type="item.article_flag==0?'eye-slash-filled':'eye-filled'" size="24" ></uni-icons>
|
||||
|
||||
|
||||
</view> -->
|
||||
|
||||
<text class="list_item_study" v-if="taihumedId == 0"
|
||||
>编辑医案</text
|
||||
>
|
||||
<text class="list_item_study" v-else>医案详情</text>
|
||||
<!-- <text class="list_item_study" :class="`medicalDetailButton${item.state}`" v-else>医案详情</text> -->
|
||||
</view>
|
||||
<!-- <text class="item_con">{{ item.taihuTalent.map(talent => talent.name).join(' ') }}</text> -->
|
||||
</view>
|
||||
@@ -116,9 +215,11 @@
|
||||
|
||||
<script>
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import text from "uview-ui/libs/config/props/text";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
options: null,
|
||||
tabsList: [],
|
||||
currentCateIndex: 0,
|
||||
list: [],
|
||||
@@ -128,8 +229,8 @@ export default {
|
||||
limit: 10,
|
||||
courseName: "",
|
||||
taihumedId: null,
|
||||
statusTitle: '',
|
||||
statusColor: '',
|
||||
statusTitle: "",
|
||||
statusColor: "",
|
||||
|
||||
timer: null,
|
||||
showText: false,
|
||||
@@ -194,14 +295,25 @@ export default {
|
||||
// .then(res=> {
|
||||
// if (res.list&&res.list.length>0) {
|
||||
this.tabsList = [
|
||||
{ id: 0, title: "草稿箱", statusTitle: '' },
|
||||
{ id: 1, title: "待审核",statusTitle: '待审核',color:'#f59442' },
|
||||
{ id: 3, title: "已通过",statusTitle: '已通过' ,color:'#22be98' },
|
||||
{ id: 2, title: "未通过",statusTitle: '未通过',color:"#e78084" },
|
||||
{ id: 0, title: "草稿箱", statusTitle: "" },
|
||||
{ id: 1, title: "待审核", statusTitle: "待审核", color: "#f59442" },
|
||||
{ id: 3, title: "质检中", statusTitle: "检测中", color: "#17A2B8" },
|
||||
{ id: 4, title: "已通过", statusTitle: "", color: "#22be98" },
|
||||
{ id: 2, title: "未通过", statusTitle: "审核未通过", color: "#e78084" },
|
||||
];
|
||||
if (uni.getStorageSync("medicalRecordsStatusId")) {
|
||||
const statusId = uni.getStorageSync("medicalRecordsStatusId");
|
||||
this.taihumedId = this.tabsList[statusId].id;
|
||||
this.currentCateIndex = statusId;
|
||||
this.statusTitle = this.tabsList[statusId].statusTitle;
|
||||
this.statusColor = this.tabsList[statusId].color;
|
||||
} else {
|
||||
this.taihumedId = this.tabsList[0].id;
|
||||
this.statusTitle = '';
|
||||
this.statusColor = '';
|
||||
this.currentCateIndex = 0;
|
||||
this.statusTitle = "";
|
||||
this.statusColor = "";
|
||||
}
|
||||
|
||||
this.getListData(this.taihumedId);
|
||||
// }
|
||||
// });
|
||||
@@ -224,7 +336,8 @@ export default {
|
||||
url: "common/medicalRecords/medicalRecordsList",
|
||||
method: "POST",
|
||||
data: {
|
||||
state: taihumedId,
|
||||
state:
|
||||
taihumedId == 4 ? "5,6" : taihumedId == 2 ? "2,4" : taihumedId,
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
@@ -232,7 +345,7 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
uni.hideLoading();
|
||||
this.list=[...res.medicalRecordsList].filter(e=>e.data)
|
||||
this.list = [...res.medicalRecordsList].filter((e) => e.data);
|
||||
this.list = [...this.list].map((e) => {
|
||||
return {
|
||||
...e,
|
||||
@@ -271,6 +384,23 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
changeShowFlag(data) {
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/medicalRecords/saveMedicalRecords",
|
||||
method: "POST",
|
||||
data: {
|
||||
...data,
|
||||
showFlag: data.showFlag == 0 ? 1 : 0,
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
this.getListData(this.taihumedId);
|
||||
});
|
||||
},
|
||||
//加载更多
|
||||
loadMore() {
|
||||
this.getListData(this.taihumedId);
|
||||
@@ -309,13 +439,17 @@ export default {
|
||||
navTitle = "医案详情";
|
||||
type = "detail";
|
||||
break;
|
||||
case 4:
|
||||
navTitle = "医案详情";
|
||||
type = "detail";
|
||||
break;
|
||||
case 2:
|
||||
navTitle = "医案详情";
|
||||
type = "detail";
|
||||
break;
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: `/pages/medicalRecords/medical?navTitle=${navTitle}&title=${navTitle}&id=${item.id}&type=${type}&statusId=${this.taihumedId}`,
|
||||
url: `/pages/medicalRecords/medical?navTitle=${navTitle}&title=${navTitle}&id=${item.id}&type=${type}&statusId=${item.state}`,
|
||||
});
|
||||
},
|
||||
},
|
||||
@@ -336,7 +470,7 @@ export default {
|
||||
// border: 1rpx solid $themeColor;
|
||||
border-radius: 15rpx;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 12rpx 30rpx 60rpx;
|
||||
padding: 12rpx 30rpx 50rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
@@ -528,4 +662,22 @@ export default {
|
||||
// transform: rotate(45deg); /* 旋转45度,形成斜角 */
|
||||
// z-index: -1;
|
||||
// }
|
||||
|
||||
.medicalDetailButton2,
|
||||
.medicalDetailButton4 {
|
||||
background: #f2f1f6 !important;
|
||||
color: #635c5c;
|
||||
}
|
||||
.medicalDetailButton5,
|
||||
.medicalDetailButton6 {
|
||||
background: rgb(34, 190, 152) !important;
|
||||
}
|
||||
.medicalDetailButton1 {
|
||||
background: #fff4e0 !important;
|
||||
color: rgb(245, 148, 66);
|
||||
}
|
||||
.medicalDetailButton3 {
|
||||
background: #82ddeb70 !important;
|
||||
color: rgb(23, 162, 184);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -54,16 +54,13 @@
|
||||
<!-- 固定的输入框部分 -->
|
||||
<view style="height: calc(100% - 120rpx)">
|
||||
<textarea
|
||||
|
||||
v-model="formData.message"
|
||||
maxlength="-1"
|
||||
style="
|
||||
|
||||
width: 100%;
|
||||
min-height: calc(85vh - 100px) !important;
|
||||
height: calc(85vh - 100px) !important;
|
||||
max-height: calc(85vh - 100px) !important;
|
||||
|
||||
"
|
||||
auto-height
|
||||
placeholder="请输入医案到此处,将自动解析医案信息
|
||||
@@ -104,7 +101,12 @@
|
||||
class="message_wrap"
|
||||
:class="`${options.type == 'detail' ? 'message_wrap_detail' : ''}`"
|
||||
:style="`top: 1px;height:${
|
||||
options.statusId == 1 || options.statusId == 3 ? '92vh' : '85vh'
|
||||
options.statusId == 1 ||
|
||||
options.statusId == 5 ||
|
||||
options.statusId == 6 ||
|
||||
options.statusId == 4
|
||||
? '92vh'
|
||||
: '85vh'
|
||||
}`"
|
||||
v-if="showMessages"
|
||||
>
|
||||
@@ -315,7 +317,6 @@ export default {
|
||||
// this.tishi=true
|
||||
}
|
||||
|
||||
|
||||
uni.stopPullDownRefresh();
|
||||
this.isRefreshing = false;
|
||||
console.log("下拉刷新已停止");
|
||||
@@ -383,16 +384,12 @@ export default {
|
||||
}
|
||||
}
|
||||
if (
|
||||
|
||||
["妇科", "儿科"].includes(this.medicalForm.labelTitle)&&isNewSave!=1
|
||||
) {
|
||||
if (
|
||||
|
||||
this.medicalForm.labelTitle == "妇科"
|
||||
["妇科", "儿科"].includes(this.medicalForm.labelTitle) &&
|
||||
isNewSave != 1
|
||||
) {
|
||||
if (this.medicalForm.labelTitle == "妇科") {
|
||||
const value = this.editableMap["personalAndFamilyHistory"] || "";
|
||||
const hasKeywords =
|
||||
value.includes("月经") || value.includes("婚育");
|
||||
const hasKeywords = value.includes("月经") || value.includes("婚育");
|
||||
|
||||
if (!hasKeywords) {
|
||||
// 包含“月经”或“婚育”
|
||||
@@ -406,10 +403,7 @@ export default {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (
|
||||
|
||||
this.medicalForm.labelTitle == "儿科"
|
||||
) {
|
||||
if (this.medicalForm.labelTitle == "儿科") {
|
||||
const value = this.editableMap["pastHistory"] || "";
|
||||
const hasKeywords = value.includes("疫苗");
|
||||
if (!hasKeywords) {
|
||||
@@ -465,6 +459,11 @@ export default {
|
||||
url: `/pages/medicalRecords/medical?navTitle=编辑医案&title=编辑医案&id=${this.medicalId}&type=edit&statusId=0`,
|
||||
});
|
||||
} else {
|
||||
if (type == "submit") {
|
||||
uni.setStorageSync("medicalRecordsStatusId", 1);
|
||||
} else {
|
||||
uni.removeStorageSync("medicalRecordsStatusId");
|
||||
}
|
||||
uni.redirectTo({
|
||||
url: "/pages/medicalRecords/index",
|
||||
});
|
||||
@@ -753,7 +752,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
console.log('res at line 713:', res)
|
||||
console.log("res at line 713:", res);
|
||||
if (res.code == 0) {
|
||||
this.medicalId = res.data;
|
||||
|
||||
|
||||
@@ -6,61 +6,118 @@
|
||||
:scroll-into-view="scrollIntoView"
|
||||
scroll-with-animation
|
||||
>
|
||||
|
||||
<view
|
||||
class="message-container-block"
|
||||
:class="{
|
||||
|
||||
'message-container-detail': type == 'detail',
|
||||
'content_detail_0': statusId == 0,
|
||||
'content_detail_1': statusId == 1,
|
||||
'content_detail_2': statusId == 2,
|
||||
'content_detail_3': statusId == 3,
|
||||
'content_detail_3_talents': page == 'talents',
|
||||
content_detail_0: statusId == 0,
|
||||
content_detail_1: statusId == 1,
|
||||
content_detail_2: statusId == 2 || statusId == 4,
|
||||
content_detail_3: statusId == 3,
|
||||
content_detail_4: statusId == 5 || statusId == 6,
|
||||
content_detail_3_talents: page == 'talents',
|
||||
content_detail_none: isEvaluate == '1',
|
||||
}"
|
||||
>
|
||||
<view class="loading-spinner" v-if="loading"></view>
|
||||
<uni-notice-bar :color="medicalRecords.state==0?'#eb3c41':medicalRecords.state==2?'#e78083':''"
|
||||
:background-color="medicalRecords.state==3?'#e7808330':medicalRecords.state==2?'#e7808330':''"
|
||||
:text="`审核备注:${markInfo}`"
|
||||
v-if="markInfo" style="margin-bottom: 0;"/>
|
||||
<uni-notice-bar
|
||||
:color="
|
||||
medicalRecords.state == 0
|
||||
? '#eb3c41'
|
||||
: medicalRecords.state == 2 || medicalRecords.state == 4
|
||||
? '#e78083'
|
||||
: ''
|
||||
"
|
||||
:background-color="
|
||||
medicalRecords.state == 6 || medicalRecords.state == 5
|
||||
? '#e7808330'
|
||||
: medicalRecords.state == 2 || medicalRecords.state == 4
|
||||
? '#e7808330'
|
||||
: ''
|
||||
"
|
||||
:text="`${medicalRecords.state == 4?'质检未通过':'审核备注'}:${markInfo}`"
|
||||
v-if="markInfo"
|
||||
style="margin-bottom: 0"
|
||||
/>
|
||||
|
||||
|
||||
<view style="" class="detail_top" :class="{
|
||||
|
||||
|
||||
'detail_top_0': statusId == 0,
|
||||
'detail_top_1': statusId == 1,
|
||||
'detail_top_2': statusId == 2,
|
||||
'detail_top_3': statusId == 3,
|
||||
'detail_top_3_talents': page == 'talents',
|
||||
}" v-if="type == 'detail'">
|
||||
<view class="detail_top_left" :style="`${page?'width:100%;padding-bottom:0':''}`">
|
||||
<view
|
||||
style=""
|
||||
class="detail_top"
|
||||
:class="{
|
||||
detail_top_0: statusId == 0,
|
||||
detail_top_1: statusId == 1,
|
||||
detail_top_2: statusId == 2 || statusId == 4,
|
||||
detail_top_3: statusId == 3,
|
||||
detail_top_4: statusId == 5 || statusId == 6,
|
||||
detail_top_3_talents: page == 'talents',
|
||||
detail_top_none: isEvaluate == '1',
|
||||
}"
|
||||
v-if="type == 'detail'"
|
||||
>
|
||||
<view
|
||||
class="detail_top_left"
|
||||
:style="`${page ? 'width:100%;padding-bottom:0' : ''}`"
|
||||
>
|
||||
<view class="detail_top_item">
|
||||
<view class="detail_top_item_name">{{ formData.title }}</view>
|
||||
<view class="label_title">分类 : {{ formData.labelTitle }}</view>
|
||||
<view class="detail_top_item_name">
|
||||
{{ formData.title }}</view
|
||||
>
|
||||
<view
|
||||
class="label_title"
|
||||
:style="isEvaluate == '1' ? 'color:#000' : ''"
|
||||
>分类 : {{ formData.labelTitle }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<image
|
||||
class="image_box"
|
||||
v-if="statusId == 1&&!page"
|
||||
v-if="statusId == 1 && !page && !isEvaluate"
|
||||
src="../../static/icon/shenghezhong.png"
|
||||
style=""
|
||||
></image>
|
||||
<image
|
||||
class="image_box"
|
||||
v-if="statusId == 2&&!page"
|
||||
v-if="(statusId == 2) && !page && !isEvaluate"
|
||||
src="../../static/icon/weitongguo.png"
|
||||
style=""
|
||||
></image>
|
||||
<image
|
||||
|
||||
class="image_box"
|
||||
v-if="statusId == 3&&!page"
|
||||
style="width: 150rpx"
|
||||
v-if="statusId == 3 && !page && !isEvaluate"
|
||||
src="../../static/icon/jiancezhong.png"
|
||||
></image>
|
||||
<!-- <image
|
||||
class="image_box"
|
||||
v-if="(statusId == 5) && !page && !isEvaluate"
|
||||
src="../../static/icon/yitongguo.png"
|
||||
style="width: 150rpx;"
|
||||
style="width: 150rpx"
|
||||
></image
|
||||
></view>
|
||||
> -->
|
||||
<image
|
||||
class="image_box"
|
||||
v-if="(statusId == 6) && !page && !isEvaluate"
|
||||
src="../../static/icon/a_.png"
|
||||
style="width: 170rpx;right:40rpx;top: 60rpx;"
|
||||
></image
|
||||
>
|
||||
<image
|
||||
class="image_box"
|
||||
v-if="(statusId == 5) && !page && !isEvaluate"
|
||||
src="../../static/icon/b_.png"
|
||||
style="width: 200rpx;"
|
||||
></image
|
||||
>
|
||||
<image
|
||||
class="image_box"
|
||||
v-if="(statusId == 4) && !page && !isEvaluate"
|
||||
src="../../static/icon/c_.png"
|
||||
style="width: 200rpx;right: -10rpx;"
|
||||
></image
|
||||
>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="home_wrap" style="margin: 0" v-if="!loading">
|
||||
<view
|
||||
class="home_form"
|
||||
@@ -182,6 +239,7 @@
|
||||
justify-content: space-between;
|
||||
margin-bottom: 14px;
|
||||
"
|
||||
:style="isEvaluate == '1' ? 'text-align: justify;' : ''"
|
||||
>
|
||||
<view style="width: calc(100%)">
|
||||
<view
|
||||
@@ -209,14 +267,20 @@
|
||||
></view>
|
||||
|
||||
<!-- <view class="editor-wrapper"> -->
|
||||
<rich-text style="color: #474343;"
|
||||
<rich-text
|
||||
style="color: #474343"
|
||||
:nodes="editableMap[key]"
|
||||
v-if="editableMap[key]"
|
||||
></rich-text>
|
||||
<rich-text nodes="<p>无</p>" v-else style="color: #474343;"></rich-text>
|
||||
<rich-text
|
||||
nodes="<p>无</p>"
|
||||
v-else
|
||||
style="color: #474343"
|
||||
></rich-text>
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
<view v-if="fileList1.length>0"
|
||||
<view
|
||||
v-if="fileList1.length > 0"
|
||||
class="form_item"
|
||||
style="
|
||||
display: block;
|
||||
@@ -255,8 +319,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<!-- 搜索结果列表 -->
|
||||
@@ -284,10 +346,18 @@ export default {
|
||||
components: {
|
||||
treeList,
|
||||
},
|
||||
props: ["loading", "form", "medicalRecords", "type", "statusId",'page'],
|
||||
props: [
|
||||
"loading",
|
||||
"form",
|
||||
"medicalRecords",
|
||||
"type",
|
||||
"statusId",
|
||||
"page",
|
||||
"isEvaluate",
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
markInfo:'',
|
||||
markInfo: "",
|
||||
editorOptions: {
|
||||
theme: "snow", // Quill 编辑器的主题
|
||||
modules: {
|
||||
@@ -389,8 +459,6 @@ export default {
|
||||
|
||||
onShow() {},
|
||||
methods: {
|
||||
|
||||
|
||||
onStatusChange(e) {
|
||||
this.formats = e.detail;
|
||||
},
|
||||
@@ -460,7 +528,7 @@ export default {
|
||||
// If an <h1> is found, remove it and process the rest
|
||||
if (h1Match) {
|
||||
// Remove the first <h1> and its content, then return the rest of the HTML
|
||||
html = html.replace(h1Match[0], '');
|
||||
html = html.replace(h1Match[0], "");
|
||||
}
|
||||
|
||||
// Return the remaining HTML
|
||||
@@ -743,26 +811,35 @@ export default {
|
||||
this.chatName = item.name;
|
||||
},
|
||||
|
||||
|
||||
initRecordData(data) {
|
||||
this.markInfo=''
|
||||
this.markInfo = "";
|
||||
this.formData.title = data.title ? data.title : "";
|
||||
this.formData.labelId = data.labelId ? data.labelId : "";
|
||||
this.formData.labelTitle = data.labelTitle ? data.labelTitle : "";
|
||||
if (data.mark) {
|
||||
|
||||
this.markList = JSON.parse(data.mark);
|
||||
const latest = this.markList.reduce((latest, current) => {
|
||||
return new Date(current.time) > new Date(latest.time) ? current : latest;
|
||||
return new Date(current.time) > new Date(latest.time)
|
||||
? current
|
||||
: latest;
|
||||
});
|
||||
if(data.state!=1&&data.state!=3&&latest){
|
||||
this.markInfo=latest.mark?latest.mark:''
|
||||
if (
|
||||
data.state != 1 &&
|
||||
data.state != 4 &&
|
||||
data.state != 5 &&
|
||||
data.state != 6 &&
|
||||
data.state != 3 &&
|
||||
latest
|
||||
) {
|
||||
this.markInfo = latest.mark ? latest.mark : "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
// medicalRecords.mark&&medicalRecords.state!=1&&medicalRecords.state!=3
|
||||
}
|
||||
if(data.state==4){
|
||||
this.markInfo = '医案内容不够精准'
|
||||
}
|
||||
|
||||
this.record = {
|
||||
information: data.information
|
||||
? data.information
|
||||
@@ -1386,8 +1463,6 @@ if(data.state!=1&&data.state!=3&&latest){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.message_title {
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
@@ -1868,15 +1943,16 @@ h3 {
|
||||
}
|
||||
.content_detail_1 {
|
||||
background: #fff4e026;
|
||||
|
||||
}
|
||||
.content_detail_3{
|
||||
background: linear-gradient(to bottom, #f6fcfb 0%, #fff 90%);
|
||||
|
||||
.content_detail_3 {
|
||||
background: linear-gradient(to bottom, #f4fbfa 0%, #fff 90%);
|
||||
}
|
||||
.content_detail_4 {
|
||||
background: linear-gradient(to bottom, #f6fcfb 0%, #fff 90%);
|
||||
}
|
||||
.content_detail_3_talents {
|
||||
background: linear-gradient(to bottom, #e9f2fc 0%, #ffffff 90%);
|
||||
|
||||
}
|
||||
|
||||
// .content_detail_2{
|
||||
@@ -1929,20 +2005,28 @@ h3 {
|
||||
}
|
||||
.detail_top_1 {
|
||||
background: linear-gradient(to bottom, #fff4e0 0%, #fff4e026 90%);
|
||||
|
||||
}
|
||||
.detail_top_2 {
|
||||
background: linear-gradient(to bottom, #f2f1f6 0%, #fff 90%);
|
||||
|
||||
}
|
||||
.detail_top_3 {
|
||||
background: linear-gradient(to bottom, #67c2d070 0%, #f6fcfb 90%);
|
||||
}
|
||||
.detail_top_4 {
|
||||
background: linear-gradient(to bottom, #22be973d 0%, #f6fcfb 90%);
|
||||
|
||||
}
|
||||
.detail_top_3_talents {
|
||||
background: linear-gradient(to bottom, #d8e6ff 0%, #e9f2fc 90%);
|
||||
min-height: 260rpx;
|
||||
|
||||
}
|
||||
|
||||
.content_detail_none {
|
||||
background: #d8e6ff57 !important;
|
||||
}
|
||||
.detail_top_none {
|
||||
background: #d8e6ff0d !important;
|
||||
min-height: auto;
|
||||
.detail_top_left {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,23 +1,45 @@
|
||||
<template>
|
||||
<view class="commonPage commonPageBox">
|
||||
<view class="bg_top">
|
||||
<u-icon @click="goSetting" class="setIcon" labelColor="#5188e5" labelPos="bottom" label="设置" name="setting"
|
||||
:style="`top:${(20 + statusBarHeight) * 2}rpx`" color="#5188e5" size="22"></u-icon>
|
||||
<u-icon
|
||||
@click="goSetting"
|
||||
class="setIcon"
|
||||
labelColor="#5188e5"
|
||||
labelPos="bottom"
|
||||
label="设置"
|
||||
name="setting"
|
||||
:style="`top:${(20 + statusBarHeight) * 2}rpx`"
|
||||
color="#5188e5"
|
||||
size="22"
|
||||
></u-icon>
|
||||
</view>
|
||||
|
||||
<view class="mine_box" :style="`top:${(80 + statusBarHeight) * 2}rpx`">
|
||||
<view class="per_mes">
|
||||
<view class="per_mes_user">
|
||||
<view style="display: flex; align-items: center; flex-direction: column">
|
||||
<image @click="goUserInfo" :src="userMes.avatar" v-if="userMes.avatar&&userMes.avatar!=''"
|
||||
class="per_mes_img color_shandow"></image>
|
||||
<image src="../../static/image.png" v-if="userMes.avatar == null||userMes.avatar == ''"
|
||||
class="per_mes_img color_shandow"></image>
|
||||
<view
|
||||
style="display: flex; align-items: center; flex-direction: column"
|
||||
>
|
||||
<image
|
||||
@click="goUserInfo"
|
||||
:src="userMes.avatar"
|
||||
v-if="userMes.avatar && userMes.avatar != ''"
|
||||
class="per_mes_img color_shandow"
|
||||
></image>
|
||||
<image
|
||||
src="../../static/image.png"
|
||||
v-if="userMes.avatar == null || userMes.avatar == ''"
|
||||
class="per_mes_img color_shandow"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="userInfoBox">
|
||||
<view class="name">{{ userMes.nickname ? userMes.nickname : "未设置" }}</view>
|
||||
<view class="phone" v-if="userMes.tel">手机号:({{ userMes.tel }})</view>
|
||||
<view class="name">{{
|
||||
userMes.nickname ? userMes.nickname : "未设置"
|
||||
}}</view>
|
||||
<view class="phone" v-if="userMes.tel"
|
||||
>手机号:({{ userMes.tel }})</view
|
||||
>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
@@ -53,12 +75,17 @@
|
||||
<view class="chong_zhi boxShadow box_fillet chongzhi_box">
|
||||
<view class="chong_list">
|
||||
<view class="left">
|
||||
<view class="chong_list_item" @click="onPageJump('/pages/wallet/account')">
|
||||
<view
|
||||
class="chong_list_item"
|
||||
@click="onPageJump('/pages/wallet/account')"
|
||||
>
|
||||
<view class="pay_item_img">
|
||||
天医币
|
||||
<u-icon @click.native.stop="openInfo()"
|
||||
<u-icon
|
||||
@click.native.stop="openInfo()"
|
||||
name="question-circle"
|
||||
style="float: right; margin: 0 6rpx">
|
||||
style="float: right; margin: 0 6rpx"
|
||||
>
|
||||
</u-icon>
|
||||
</view>
|
||||
|
||||
@@ -67,16 +94,27 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="chong_list_item" @click="onPageJump('/pages/wallet/points')" v-if="$platform=='android'">
|
||||
<view class="pay_item_img">
|
||||
积分
|
||||
</view>
|
||||
<view class="text" style="line-height:30rpx">{{userMes.jf ? userMes.jf : 0}}</view>
|
||||
<view
|
||||
class="chong_list_item"
|
||||
@click="onPageJump('/pages/wallet/points')"
|
||||
v-if="$platform == 'android'"
|
||||
>
|
||||
<view class="pay_item_img"> 积分 </view>
|
||||
<view class="text" style="line-height: 30rpx">{{
|
||||
userMes.jf ? userMes.jf : 0
|
||||
}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="chong_list_item" style="flex-direction:initial;margin-right:0;">
|
||||
<view class="chong_btn" @click="onPageJump('/pages/wallet/recharge')">充 值</view>
|
||||
<view
|
||||
class="chong_list_item"
|
||||
style="flex-direction: initial; margin-right: 0"
|
||||
>
|
||||
<view
|
||||
class="chong_btn"
|
||||
@click="onPageJump('/pages/wallet/recharge')"
|
||||
>充 值</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -84,10 +122,33 @@
|
||||
|
||||
<view class="list_box">
|
||||
<view class="xiugai boxShadow box_fillet">
|
||||
<common-list :dataList="pageList" @hancleClick="handleClickTab" label="name">
|
||||
<common-list
|
||||
:dataList="pageList"
|
||||
@hancleClick="handleClickTab"
|
||||
label="name"
|
||||
>
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<text class="fdButtonBox aui-text-success"
|
||||
style="line-height: 40rpx">{{ slotProps.row.content }}</text>
|
||||
<text
|
||||
class="fdButtonBox aui-text-success"
|
||||
style="line-height: 40rpx"
|
||||
>{{ slotProps.row.content }}</text
|
||||
>
|
||||
|
||||
<text
|
||||
class="fdButtonBox aui-text-success"
|
||||
v-if="
|
||||
slotProps.row.contentType &&
|
||||
slotProps.row.contentType == 'shengpi' &&
|
||||
shengpiNumber > 0
|
||||
"
|
||||
style="
|
||||
line-height: 40rpx;
|
||||
font-size: 40rpx;
|
||||
color: #5188e5;
|
||||
float: right;
|
||||
"
|
||||
>{{ shengpiNumber }}</text
|
||||
>
|
||||
</template>
|
||||
</common-list>
|
||||
</view>
|
||||
@@ -106,9 +167,18 @@
|
||||
</view>
|
||||
|
||||
<view class="bottom">
|
||||
<view class="button_box" style=" align-items: center; justify-content: center;">
|
||||
<u-button style="width: 200rpx; float: center" :plain="true" text="知道啦" color="#9b9b9b"
|
||||
size="small" @click="infoShow = false"></u-button>
|
||||
<view
|
||||
class="button_box"
|
||||
style="align-items: center; justify-content: center"
|
||||
>
|
||||
<u-button
|
||||
style="width: 200rpx; float: center"
|
||||
:plain="true"
|
||||
text="知道啦"
|
||||
color="#9b9b9b"
|
||||
size="small"
|
||||
@click="infoShow = false"
|
||||
></u-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -121,14 +191,12 @@
|
||||
|
||||
<script>
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import {
|
||||
mapState,
|
||||
mapMutations
|
||||
} from "vuex";
|
||||
import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
userMes: {},
|
||||
shengpiNumber: 0,
|
||||
pageList: [
|
||||
// {
|
||||
// name: "我的病历夹",
|
||||
@@ -143,22 +211,23 @@ export default {
|
||||
{
|
||||
name: "我的订单",
|
||||
url: "/pages/order/index",
|
||||
type: "pageJump"
|
||||
},
|
||||
{
|
||||
name: "我的文章",
|
||||
url: "/pages/articleList/index",
|
||||
type: "pageJump"
|
||||
},
|
||||
{
|
||||
name: "我的医案",
|
||||
url: "/pages/medicalRecords/index",
|
||||
type: "pageJump"
|
||||
type: "pageJump",
|
||||
},
|
||||
// {
|
||||
// name: "我的文章",
|
||||
// url: "/pages/articleList/index",
|
||||
// type: "pageJump"
|
||||
// },
|
||||
|
||||
// {
|
||||
// name: "待审核医案",
|
||||
// url: "/pages/medicalRecords/PendingApprovalIndex",
|
||||
// type: "pageJump"
|
||||
// },
|
||||
{
|
||||
name: "我的课程",
|
||||
url: "/pages/curriculum/index/index",
|
||||
type: "pageJump"
|
||||
type: "pageJump",
|
||||
},
|
||||
{
|
||||
name: "个人资料",
|
||||
@@ -173,12 +242,12 @@ export default {
|
||||
{
|
||||
name: "问题反馈/申诉",
|
||||
url: "/pages/user/workOrder",
|
||||
type: "pageJump"
|
||||
}
|
||||
type: "pageJump",
|
||||
},
|
||||
],
|
||||
infoShow: false, // 显示电子书相关
|
||||
aiVipLog: null,
|
||||
flag: null
|
||||
flag: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -187,9 +256,15 @@ export default {
|
||||
//第一次加载
|
||||
onLoad(e) {
|
||||
uni.hideTabBar();
|
||||
this.getMedicalRecords();
|
||||
this.getMedicalRecordsCanCheck();
|
||||
},
|
||||
//页面显示
|
||||
onShow() {
|
||||
if(uni.getStorageSync('medicalRecordsStatusId')){
|
||||
uni.removeStorageSync('medicalRecordsStatusId');
|
||||
}
|
||||
this.getShengpiNumber()
|
||||
this.getData();
|
||||
this.getVipData();
|
||||
},
|
||||
@@ -227,17 +302,73 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
//获取数据
|
||||
getVipData() {
|
||||
this.$http.request({
|
||||
url: 'taihumed/aiVip/getUserAiVip',
|
||||
getMedicalRecords() {
|
||||
if (this.userInfo.id != undefined) {
|
||||
this.$http
|
||||
.post("common/medicalRecords/getMedicalRecordsRoleByUser")
|
||||
.then((res) => {
|
||||
console.log("res at line 237:", res);
|
||||
if (res.code == 0 && res.roleFlag == 1) {
|
||||
this.pageList.splice(1, 0, {
|
||||
name: "我的医案",
|
||||
url: "/pages/medicalRecords/index",
|
||||
type: "pageJump",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
getMedicalRecordsCanCheck() {
|
||||
if (this.userInfo.id != undefined) {
|
||||
this.$http.post("common/medicalRecords/canCheck").then((res) => {
|
||||
console.log("res at line 237:", res);
|
||||
if (res.code == 0 && res.flag == true) {
|
||||
|
||||
this.pageList.splice(1, 0, {
|
||||
name: "待审批医案",
|
||||
url: "/pages/medicalRecords/PendingApprovalIndex",
|
||||
type: "pageJump",
|
||||
contentType: "shengpi",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
getShengpiNumber() {
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/medicalRecords/getMedicalRecordsCheckList",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
.then((res) => {
|
||||
// 过滤不包含自己的用户ID的对象
|
||||
var list = [...res.list].filter((item) => {
|
||||
// 判断是否有 stateInfo 属性,且它不包含用户ID,或者为空字符串
|
||||
return (
|
||||
!item.stateInfo ||
|
||||
item.stateInfo === "" ||
|
||||
!item.stateInfo.includes(this.userInfo.id.toString())
|
||||
);
|
||||
});
|
||||
this.shengpiNumber = list.length;
|
||||
});
|
||||
},
|
||||
//获取数据
|
||||
getVipData() {
|
||||
this.$http
|
||||
.request({
|
||||
url: "taihumed/aiVip/getUserAiVip",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.aiVipLog = res.aiVipLog;
|
||||
this.flag = res.flag;
|
||||
@@ -283,7 +414,6 @@ export default {
|
||||
}
|
||||
|
||||
view {
|
||||
|
||||
.name {
|
||||
width: 100%;
|
||||
font-size: 30rpx;
|
||||
@@ -778,7 +908,7 @@ export default {
|
||||
}
|
||||
|
||||
.vip_info_bottom {
|
||||
color: #3583C3;
|
||||
color: #3583c3;
|
||||
}
|
||||
|
||||
.vbg {
|
||||
@@ -857,7 +987,6 @@ export default {
|
||||
height: 24rpx;
|
||||
}
|
||||
.vip_infor {
|
||||
|
||||
}
|
||||
.vip_infor_item {
|
||||
display: block;
|
||||
|
||||
@@ -1,48 +1,102 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<z-nav-bar title="太湖英才" bgColor="#5188e5" fontColor="#fff" :backState="2000"></z-nav-bar>
|
||||
<z-nav-bar
|
||||
title="太湖英才"
|
||||
bgColor="#5188e5"
|
||||
fontColor="#fff"
|
||||
:backState="2000"
|
||||
></z-nav-bar>
|
||||
<view class="talents_module" :style="`top: ${42 + statusBarHeight}px;`">
|
||||
<view class="talents_tab">
|
||||
<view class="tab_item" @click="toggleFilter('city')">
|
||||
地区
|
||||
<text :class="['arrow', activeFilter === 'city' ? 'up' : 'down']"></text>
|
||||
<text
|
||||
:class="['arrow', activeFilter === 'city' ? 'up' : 'down']"
|
||||
></text>
|
||||
</view>
|
||||
<view class="tab_item" @click="toggleFilter('department')">
|
||||
科室
|
||||
<text :class="['arrow', activeFilter === 'department' ? 'up' : 'down']"></text>
|
||||
<text
|
||||
:class="['arrow', activeFilter === 'department' ? 'up' : 'down']"
|
||||
></text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 弹窗 -->
|
||||
<view class="talents_tan" v-if="activeFilter">
|
||||
<view class="tan_item tan_city" v-if="activeFilter == 'city'">
|
||||
<scroll-view scroll-y="true" class="city_scroll scroll_left" :class="!cityStatus?'width50':''" :scroll-into-view="'country_' + selectedPath[0]">
|
||||
<view class="city_item"
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
class="city_scroll scroll_left"
|
||||
:class="!cityStatus ? 'width50' : ''"
|
||||
:scroll-into-view="'country_' + selectedPath[0]"
|
||||
>
|
||||
<view
|
||||
class="city_item"
|
||||
:class="countryIndex == index ? 'active' : ''"
|
||||
v-for="(item,index) in country" :key="index" :id="'country_' + item.areaId" @click="click_country(item,index)">
|
||||
v-for="(item, index) in country"
|
||||
:key="index"
|
||||
:id="'country_' + item.areaId"
|
||||
@click="click_country(item, index)"
|
||||
>
|
||||
<text>{{ item.title }}</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<scroll-view scroll-y="true" class="city_scroll scroll_center" :class="!cityStatus?'width50':''" :scroll-into-view="'province_' + selectedPath[1]">
|
||||
<view class="city_item"
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
class="city_scroll scroll_center"
|
||||
:class="!cityStatus ? 'width50' : ''"
|
||||
:scroll-into-view="'province_' + selectedPath[1]"
|
||||
>
|
||||
<view
|
||||
class="city_item"
|
||||
:class="provinceIndex == index ? 'active' : ''"
|
||||
v-for="(item,index) in province" :key="index" :id="'province_' + item.provId" @click="click_province(item,index)">
|
||||
v-for="(item, index) in province"
|
||||
:key="index"
|
||||
:id="'province_' + item.provId"
|
||||
@click="click_province(item, index)"
|
||||
>
|
||||
<text>{{ item.provName }}</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<scroll-view scroll-y="true" class="city_scroll scroll_right" v-if="cityStatus" :scroll-into-view="'city_' + selectedPath[2]">
|
||||
<view class="city_item"
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
class="city_scroll scroll_right"
|
||||
v-if="cityStatus"
|
||||
:scroll-into-view="'city_' + selectedPath[2]"
|
||||
>
|
||||
<view
|
||||
class="city_item"
|
||||
:class="cityIndex == index ? 'active' : ''"
|
||||
v-for="(item,index) in city" :key="index" :id="'city_' + item.cityId" @click="click_city(item,index)">
|
||||
v-for="(item, index) in city"
|
||||
:key="index"
|
||||
:id="'city_' + item.cityId"
|
||||
@click="click_city(item, index)"
|
||||
>
|
||||
<text>{{ item.cityName }}</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<view class="tan_item tan_department" v-if="activeFilter=='department'">
|
||||
<!-- <view class="tan_item tan_department" v-if="activeFilter=='department'">
|
||||
<view class="department_item"
|
||||
:class="departmentIndex==index?'department_active':''"
|
||||
v-for="(item,index) in chatAssistants" :key="index" @click="click_department(item.name,index)">
|
||||
<text>{{item.name}}</text>
|
||||
:class="deptLabelId==item.id?'department_active':''"
|
||||
v-for="(item,index) in chatAssistants" :key="index" @click="click_department(item,index)">
|
||||
<text>{{item.title}}</text>
|
||||
</view>
|
||||
</view> -->
|
||||
<view
|
||||
class="tan_item tan_department"
|
||||
v-if="activeFilter == 'department'"
|
||||
>
|
||||
<view
|
||||
class="department_item"
|
||||
:class="deptLabelId == item.id ? 'department_active' : ''"
|
||||
v-for="(item, index) in chatAssistants"
|
||||
:key="index"
|
||||
@click="click_department(item, index)"
|
||||
>
|
||||
<text>{{ item.title }}</text>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -60,12 +114,23 @@
|
||||
|
||||
<!-- 遮罩层 -->
|
||||
<view v-if="activeFilter" class="overlay" @click="closeFilter"></view>
|
||||
<scroll-view scroll-y="true"
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
:scroll-top="scrollTop"
|
||||
style="height: calc(100vh - 300rpx); margin-top: 185rpx; padding-bottom: 140rpx;"
|
||||
v-if="list&&list.length>0">
|
||||
style="
|
||||
height: calc(100vh - 300rpx);
|
||||
margin-top: 185rpx;
|
||||
padding-bottom: 140rpx;
|
||||
"
|
||||
v-if="list && list.length > 0"
|
||||
>
|
||||
<view class="talents_list">
|
||||
<view class="talents_item" v-for="(item,index) in list" :key="index" @click="goToDetail(item.id)">
|
||||
<view
|
||||
class="talents_item"
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
@click="goToDetail(item.id)"
|
||||
>
|
||||
<image :src="item.icon" class="item_image" mode="aspectFit"></image>
|
||||
<view class="item_right">
|
||||
<view class="item_top">
|
||||
@@ -84,16 +149,22 @@
|
||||
|
||||
<script>
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import DepartmentMenu from "../component/commonComponents/DepartmentMenu.vue"; // 引入递归组件
|
||||
export default {
|
||||
components: {
|
||||
DepartmentMenu,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
name: '',
|
||||
region: '', //地区
|
||||
department: '', //科室
|
||||
name: "",
|
||||
region: "", //地区
|
||||
department: "", //科室
|
||||
list: [],
|
||||
null_text: '',
|
||||
null_text: "",
|
||||
deptLabelId: null,
|
||||
departmentIndex: null,
|
||||
activeFilter: '',
|
||||
activeFilter: "",
|
||||
chatAssistants: [], //科室数据
|
||||
country: [], //国家数据
|
||||
province: [], //省份数据
|
||||
@@ -103,22 +174,22 @@ export default {
|
||||
provinceIndex: null,
|
||||
cityIndex: null,
|
||||
|
||||
countryTitle: '',
|
||||
provinceTitle: '',
|
||||
cityTitle: '',
|
||||
countryTitle: "",
|
||||
provinceTitle: "",
|
||||
cityTitle: "",
|
||||
//城市模块是否显示
|
||||
cityStatus: false,
|
||||
selectedPath: [], //存储选中路径
|
||||
scrollTop: 0, //滚动位置
|
||||
isRefreshing: false, //刷新状态
|
||||
}
|
||||
};
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.isRefreshing = true;
|
||||
console.log("下拉刷新");
|
||||
|
||||
setTimeout(() => {
|
||||
this.region = '';
|
||||
this.region = "";
|
||||
this.getData();
|
||||
uni.stopPullDownRefresh();
|
||||
this.isRefreshing = false;
|
||||
@@ -137,118 +208,123 @@ export default {
|
||||
//获取数据
|
||||
getData(type) {
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
})
|
||||
this.$http.request({
|
||||
url: 'common/taihuTalent/getTaihuTalents',
|
||||
title: "加载中",
|
||||
});
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/taihuTalent/getTaihuTalents",
|
||||
method: "POST",
|
||||
data: {
|
||||
name: this.name,
|
||||
region: this.region,
|
||||
department: this.department
|
||||
deptLabelId: this.deptLabelId ? this.deptLabelId : "",
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
.then((res) => {
|
||||
uni.hideLoading();
|
||||
if (res.list && res.list.length > 0) {
|
||||
this.list = res.list;
|
||||
|
||||
if (type) {
|
||||
this.scrollTop = 0
|
||||
this.scrollTop = 0;
|
||||
this.$nextTick(() => {
|
||||
this.scrollTop = 0.1; // 确保触发滚动
|
||||
})
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.list = [];
|
||||
this.null_text = '暂无数据';
|
||||
this.null_text = "暂无数据";
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取科室数据
|
||||
getChatAssistants() {
|
||||
this.$http.request({
|
||||
url: 'common/ragFlowApi/getChatAssistants',
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/medicalRecords/getMedicalRecordsLabelList",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
if (res.list&&res.list.length>0) {
|
||||
this.chatAssistants = res.list;
|
||||
.then((res) => {
|
||||
if (res.Medicals && res.Medicals.length > 0) {
|
||||
this.chatAssistants = res.Medicals;
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
//获取国家
|
||||
getAllBaseArea() {
|
||||
this.$http.request({
|
||||
url: 'common/baseArea/getAllBaseArea',
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/baseArea/getAllBaseArea",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
.then((res) => {
|
||||
if (res.baseAreas && res.baseAreas.length > 0) {
|
||||
this.country = res.baseAreas;
|
||||
//如果第一位是中国默认请求
|
||||
if(this.country[0].code=='86'){
|
||||
if (this.country[0].code == "86") {
|
||||
this.countryTitle = this.country[0].title;
|
||||
this.getProvinceList();
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
//获取中国省份
|
||||
getProvinceList() {
|
||||
this.$http.request({
|
||||
url: 'common/province/getProvinceList',
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/province/getProvinceList",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
.then((res) => {
|
||||
if (res.provinceList && res.provinceList.length > 0) {
|
||||
this.province = res.provinceList;
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
//获取城市
|
||||
getCityList(provId) {
|
||||
this.$http.request({
|
||||
url: 'common/province/getCityList?provId='+provId,
|
||||
this.$http
|
||||
.request({
|
||||
url: "common/province/getCityList?provId=" + provId,
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(res=> {
|
||||
.then((res) => {
|
||||
if (res.prov && res.prov.length > 0) {
|
||||
this.city = res.prov;
|
||||
this.cityStatus = true;
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
//点击国家
|
||||
click_country(data, index) {
|
||||
this.provinceIndex = null;
|
||||
this.cityIndex = null;
|
||||
this.city = [];
|
||||
this.region = '';
|
||||
this.cityTitle = '';
|
||||
this.region = "";
|
||||
this.cityTitle = "";
|
||||
this.selectedPath = [data.areaId];
|
||||
|
||||
//只有中国有二级,如果没有二级则为海外国家
|
||||
if(data.code!='86'){
|
||||
if (data.code != "86") {
|
||||
this.cityStatus = false;
|
||||
if (this.countryTitle == data.title) {
|
||||
this.countryIndex = null;
|
||||
@@ -259,7 +335,7 @@ export default {
|
||||
this.countryTitle = data.title;
|
||||
this.region = data.title;
|
||||
}
|
||||
this.activeFilter = '';
|
||||
this.activeFilter = "";
|
||||
this.getData();
|
||||
} else {
|
||||
this.countryIndex = index;
|
||||
@@ -267,7 +343,7 @@ export default {
|
||||
this.getProvinceList();
|
||||
}
|
||||
|
||||
console.log(this.countryIndex, this.countryTitle)
|
||||
console.log(this.countryIndex, this.countryTitle);
|
||||
},
|
||||
//点击省份
|
||||
click_province(data, index) {
|
||||
@@ -275,60 +351,66 @@ export default {
|
||||
this.cityIndex = null;
|
||||
this.provinceTitle = data.provName;
|
||||
this.selectedPath = [this.selectedPath[0], data.provId];
|
||||
console.log(this.provinceTitle)
|
||||
console.log(this.provinceTitle);
|
||||
this.getCityList(data.provId);
|
||||
},
|
||||
//点击城市
|
||||
click_city(data, index) {
|
||||
this.selectedPath = [this.selectedPath[0], this.selectedPath[1], data.cityId];
|
||||
this.selectedPath = [
|
||||
this.selectedPath[0],
|
||||
this.selectedPath[1],
|
||||
data.cityId,
|
||||
];
|
||||
if (this.cityTitle == data.cityName) {
|
||||
this.cityIndex = null;
|
||||
this.cityTitle = '';
|
||||
this.region = '';
|
||||
this.cityTitle = "";
|
||||
this.region = "";
|
||||
} else {
|
||||
this.cityIndex = index;
|
||||
this.cityTitle = data.cityName;
|
||||
this.region = this.provinceTitle + this.cityTitle;
|
||||
}
|
||||
this.activeFilter = '';
|
||||
this.activeFilter = "";
|
||||
this.getData();
|
||||
|
||||
console.log(this.region)
|
||||
console.log(this.region);
|
||||
},
|
||||
//详情
|
||||
goToDetail(id) {
|
||||
if (this.isRefreshing) return;
|
||||
uni.navigateTo({
|
||||
url: '/pages/talents/detail?id='+id,
|
||||
url: "/pages/talents/detail?id=" + id,
|
||||
});
|
||||
},
|
||||
//点击
|
||||
toggleFilter(type) {
|
||||
this.activeFilter = this.activeFilter === type ? '' : type;
|
||||
this.activeFilter = this.activeFilter === type ? "" : type;
|
||||
},
|
||||
//关闭
|
||||
closeFilter() {
|
||||
this.activeFilter = '';
|
||||
this.activeFilter = "";
|
||||
},
|
||||
//点击科室类别
|
||||
click_department(name, index){
|
||||
if(this.department==name){
|
||||
click_department(data, index) {
|
||||
if (this.department == data.title) {
|
||||
this.deptLabelId = null;
|
||||
this.departmentIndex = null;
|
||||
this.department = ''
|
||||
this.department = "";
|
||||
} else {
|
||||
this.deptLabelId = data.id;
|
||||
this.departmentIndex = index;
|
||||
this.department = name;
|
||||
this.department = data.title;
|
||||
}
|
||||
|
||||
this.activeFilter = '';
|
||||
this.activeFilter = "";
|
||||
this.getData();
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/static/mixin.scss';
|
||||
@import "@/static/mixin.scss";
|
||||
.content {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
@@ -389,7 +471,6 @@ export default {
|
||||
padding-top: 300rpx;
|
||||
}
|
||||
|
||||
|
||||
.talents_module {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
@@ -445,7 +526,7 @@ export default {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 50%;
|
||||
height: 85rpx;
|
||||
min-height: 85rpx;
|
||||
line-height: 85rpx;
|
||||
border-bottom: 1rpx solid #f3f3f3;
|
||||
border-right: 1rpx solid #f3f3f3;
|
||||
@@ -461,7 +542,6 @@ export default {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.department_active {
|
||||
|
||||
text {
|
||||
color: $themeColor;
|
||||
font-weight: bold;
|
||||
@@ -478,7 +558,8 @@ export default {
|
||||
height: 395rpx;
|
||||
}
|
||||
|
||||
.scroll_left,.scroll_center{
|
||||
.scroll_left,
|
||||
.scroll_center {
|
||||
border-right: 1rpx solid #f3f3f3;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -521,7 +602,6 @@ export default {
|
||||
color: #666;
|
||||
}
|
||||
/deep/.uni-easyinput__content-input {
|
||||
|
||||
}
|
||||
.name-placeholder {
|
||||
font-size: 28rpx;
|
||||
|
||||
BIN
static/icon/a.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
static/icon/a_.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
static/icon/aa.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
static/icon/b.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
static/icon/b_.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
static/icon/bb.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
static/icon/c.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
static/icon/c_.png
Normal file
|
After Width: | Height: | Size: 304 KiB |
BIN
static/icon/cc.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
static/icon/jiancezhong.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
static/icon/jing2.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
static/icon/jingpin.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
static/icon/jingpinganli.png
Normal file
|
After Width: | Height: | Size: 12 KiB |