387 lines
8.0 KiB
Vue
387 lines
8.0 KiB
Vue
<template>
|
||
<view class="content">
|
||
<z-nav-bar title="新增医案" bgColor="#5188e5" fontColor="#fff" >
|
||
|
||
</z-nav-bar>
|
||
<view class="containerBg1">
|
||
|
||
<uni-section title="基本用法" type="line" >
|
||
<view class="example">
|
||
<!-- 基础用法,不包含校验规则 -->
|
||
<uni-forms ref="baseForm" :modelValue="baseFormData">
|
||
<uni-forms-item label="医案分类" required :label-width="80">
|
||
<view style="line-height: 36px;" @click="showDrawer" :style="baseFormData.labelId?'color:#5188e5;font-weight: 700;':'color:#888'">{{ baseFormData.labelId?baseFormData.labelTitle:'请选择医案分类' }}</view>
|
||
|
||
</uni-forms-item>
|
||
<uni-forms-item label="医案标题" required :label-width="80">
|
||
<textarea v-model="baseFormData.title" maxlength="-1"
|
||
auto-height
|
||
placeholder="请输入医案标题"
|
||
placeholder-class="custom-placeholder" />
|
||
</uni-forms-item>
|
||
|
||
</uni-forms>
|
||
</view>
|
||
</uni-section>
|
||
</view>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<tree-list ref="treeList" v-if="treeListVisible" @clickCourseInfo="clickCourseInfo"></tree-list>
|
||
<z-navigation></z-navigation>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import $http from "@/config/requestConfig.js";
|
||
import treeList from './tag.vue'
|
||
export default {
|
||
components: {
|
||
treeList,
|
||
},
|
||
data() {
|
||
return {
|
||
form:{},
|
||
baseFormData:{},
|
||
tabsList: [],
|
||
currentCateIndex: 0,
|
||
list: [],
|
||
null_text: '',
|
||
current: 1,
|
||
limit: 10,
|
||
courseName: '',
|
||
taihumedId: null,
|
||
timer: null,
|
||
showText: false,
|
||
noMore: false,
|
||
show: null,
|
||
count: 0,
|
||
scrollTop: 0, //滚动位置
|
||
isRefreshing: false, //刷新状态
|
||
treeListVisible: false, //刷新状态
|
||
}
|
||
},
|
||
onPullDownRefresh() {
|
||
this.isRefreshing = true;
|
||
console.log("下拉刷新");
|
||
|
||
setTimeout(() => {
|
||
this.current = 1;
|
||
this.list = [];
|
||
this.noMore = false;
|
||
|
||
this.getListData(this.tabsList[this.currentCateIndex].id);
|
||
uni.stopPullDownRefresh();
|
||
this.isRefreshing = false;
|
||
console.log("下拉刷新已停止");
|
||
}, 800);
|
||
},
|
||
onLoad() {
|
||
uni.hideTabBar();
|
||
this.getTabData();
|
||
},
|
||
onShow() {
|
||
|
||
},
|
||
methods: {
|
||
clickCourseInfo(val){
|
||
console.log(val)
|
||
this.baseFormData.labelId=val.id
|
||
this.baseFormData.labelTitle=val.title
|
||
this.$forceUpdate();
|
||
|
||
},
|
||
showDrawer(){
|
||
this.treeListVisible = true
|
||
this.$nextTick( ()=> {
|
||
this.$refs['treeList'].getData()
|
||
})
|
||
|
||
},
|
||
createFolder(){
|
||
uni.navigateTo({
|
||
url: `/pages/medicalRecords/add?navTitle='创建医案'&title='创建医案'`
|
||
});
|
||
},
|
||
//判断显示‘上/中/下’
|
||
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 = [
|
||
{id:0,title:'草稿箱'},
|
||
{id:1,title:'待审核'},
|
||
{id:3,title:'已完成'},
|
||
{id:2,title:'审核失败'},
|
||
];
|
||
this.taihumedId = this.tabsList[0].id;
|
||
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/medicalRecordsList',
|
||
method: "POST",
|
||
data: {
|
||
|
||
state: taihumedId,
|
||
|
||
},
|
||
header: {
|
||
"Content-Type": "application/json",
|
||
},
|
||
})
|
||
.then(res=> {
|
||
uni.hideLoading();
|
||
this.list=[...res.medicalRecordsList]
|
||
// this.count = res.pageRes.total; //总数
|
||
// let length = res.pageRes.records.length;
|
||
// if (res.pageRes.records&&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.list = [];
|
||
this.noMore = false;
|
||
this.show = false;
|
||
this.count = 0;
|
||
this.current = 1;
|
||
this.getListData(this.taihumedId);
|
||
},
|
||
//详情
|
||
goToDetail(item){
|
||
if (this.isRefreshing) return;
|
||
uni.navigateTo({
|
||
url: `/pages/curriculum/index?navTitle=${item.title}&title=${item.title}&id=${item.id}`
|
||
});
|
||
},
|
||
|
||
},
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
@import '@/static/mixin.scss';
|
||
.content{
|
||
height: 100%;
|
||
overflow: auto;
|
||
background-color: #fff;
|
||
}
|
||
.doctors_list{
|
||
margin: 0 30rpx 20rpx;
|
||
}
|
||
.doctors_item{
|
||
border: 1rpx solid $themeColor;
|
||
border-radius: 15rpx;
|
||
margin-bottom: 20rpx;
|
||
padding: 25rpx 25rpx 60rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
position: relative;
|
||
}
|
||
.item_image{
|
||
display: block;
|
||
width: 200rpx;
|
||
height: 200rpx;
|
||
flex-shrink: 0;
|
||
background: #f3f3f3;
|
||
}
|
||
.item_right{
|
||
width: calc(100% - 200rpx);
|
||
margin-left: 30rpx;
|
||
padding-bottom: 20rpx;
|
||
}
|
||
.item_top{
|
||
display: flex;
|
||
align-items: center;
|
||
line-height: 40rpx;
|
||
}
|
||
.item_name{
|
||
font-size: 32rpx;
|
||
color: #333;
|
||
font-weight: bold;
|
||
}
|
||
.item_title{
|
||
font-size: 32rpx;
|
||
color: #333;
|
||
}
|
||
.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: 20rpx;
|
||
}
|
||
.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;
|
||
}
|
||
}
|
||
.containerBg1{
|
||
padding: 40rpx;
|
||
}
|
||
</style> |