This commit is contained in:
2025-08-07 16:38:25 +08:00
parent b761ae562f
commit c0aab3d94c
25 changed files with 4204 additions and 1480 deletions

View 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" },
];
this.taihumedId = this.tabsList[0].id;
this.statusTitle = '';
this.statusColor = '';
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.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>