This commit is contained in:
2025-08-08 17:36:23 +08:00
parent 613ed5173c
commit 181a98c157
4 changed files with 195 additions and 58 deletions

View File

@@ -3,21 +3,32 @@
<z-nav-bar title="待审批医案" bgColor="#5188e5" fontColor="#fff">
</z-nav-bar>
<view class="doctors_module" :style="`top: ${42 + statusBarHeight}px;`">
<view class="cateList flexbox" style="background-color: #fff">
<common-sticky
itemStyle="width:50%; height: 38px;font-size:24rpx;"
:list="tabsList"
label="title"
:currentCateIndex="currentCateIndex"
@handleselectCate="ordersTabCLi"
></common-sticky>
</view>
</view>
<scroll-view
scroll-y="true"
:scroll-top="scrollTop"
@scrolltolower="loadMore"
style="
height: calc(100vh - 140rpx);
margin-top: 40rpx;
height: calc(100vh - 220rpx);
margin-top: 100rpx;
padding-bottom: 120rpx;
"
v-if="show == true"
>
<view class="doctors_list" id="top">
<view
class="doctors_item"
class="doctors_item" :style="taihumedId == 1 ? 'padding-bottom:20rpx;' : ''"
v-for="(item, index) in list"
:key="index"
@click="goToDetail(item)"
@@ -56,7 +67,8 @@
</u-upload>
</view>
<view class="list_item_bt">
<view class="list_item_bt" v-if="taihumedId==0">
<text class="list_item_study">去评价</text>
</view>
@@ -114,7 +126,7 @@ export default {
this.list = [];
this.noMore = false;
this.getListData(3);
this.getListData(this.taihumedId);
uni.stopPullDownRefresh();
this.isRefreshing = false;
console.log("下拉刷新已停止");
@@ -158,8 +170,9 @@ export default {
// })
// .then(res=> {
// if (res.list&&res.list.length>0) {
this.tabsList = [ ];
this.taihumedId = 3;
this.tabsList = [ { id: 0, title: "待审批", statusTitle: "" },
{ id: 1, title: "审批完成", statusTitle: "审批完成", color: "#f59442" },];
this.taihumedId = 0;
this.statusTitle = '';
this.statusColor = '';
this.getListData(this.taihumedId);
@@ -184,7 +197,8 @@ export default {
url: "common/medicalRecords/getMedicalRecordsCheckList",
method: "POST",
data: {
flag: taihumedId,
},
header: {
"Content-Type": "application/json",
@@ -193,10 +207,16 @@ export default {
.then((res) => {
uni.hideLoading();
// 过滤不包含自己的用户ID的对象
this.list = [...res.list].filter(item => {
if(this.taihumedId==0){
this.list = [...res.list].filter(item => {
// 判断是否有 stateInfo 属性且它不包含用户ID或者为空字符串
return !item.stateInfo || item.stateInfo === "" || !item.stateInfo.includes(this.userInfo.id.toString());
});
}else{
this.list = [...res.list]
}
console.log('this.list at line 191:', this.list)
this.show = true;
@@ -257,7 +277,8 @@ export default {
type = "detail";
uni.navigateTo({
url: `/pages/medicalRecords/evaluateDetail?navTitle=${navTitle}&title=${navTitle}&id=${item.id}&type=${type}&statusId=${this.taihumedId}&isEvaluate=1`,
url: `/pages/medicalRecords/evaluateDetail?navTitle=${navTitle}&title=${navTitle}&id=${item.id}&type=${type}&statusId=${this.taihumedId}&isEvaluate=1&taimedId=${this.taihumedId}`,
});
},
},

View File

@@ -26,36 +26,102 @@
ref="commonMedicalDetail"
></medicalDetail>
<view class="footer_box">
<view style="color: #5188e5;padding-left: 10rpx;margin-bottom: 24rpx;">请您结合医案内容给出评价 : </view>
<view class="footer_box" v-if="options.taimedId == 0">
<view style="color: #5188e5; padding-left: 10rpx; margin-bottom: 24rpx"
>请您结合医案内容给出评价 :
</view>
<view style="display: flex; flex-direction: row">
<view class="footer_item" @click="handleSubmit('A')">
<view class="footer_item" @click="showModal('A')">
<image src="/static/icon/a.png"></image>
<view class="button savebutton" style="background-color:#2bc66912;
color: #2bc669;"
<view
class="button savebutton"
style="background-color: #2bc66912; color: #2bc669"
>A
</view> <view class="button_text" style="color: #2bc669;">特别具有吴门意义</view>
</view>
<view class="button_text" style="color: #2bc669"
>特别具有吴门意义</view
>
</view>
<view class="footer_item" @click="handleSubmit('B')"
> <image src="/static/icon/b.png"></image><view class="button" style="background-color: #0099ff0f;
color: #0099ff;"
<view class="footer_item" @click="showModal('B')">
<image src="/static/icon/b.png"></image
><view
class="button"
style="background-color: #0099ff0f; color: #0099ff"
>B </view
><view class="button_text" style="color: #0099ff;">不太具有吴门意义</view></view
><view class="button_text" style="color: #0099ff"
>不太具有吴门意义</view
></view
>
<view class="footer_item" @click="handleSubmit('C')"
> <image src="/static/icon/c.png"></image><view class="button" style="background-color: #f2f1f6;
color: #333333cf;"
<view class="footer_item" @click="showModal('C')">
<image src="/static/icon/c.png"></image
><view
class="button"
style="background-color: #f2f1f6; color: #333333cf"
>C</view
><view class="button_text" style="color: #333333cf">医案内容不够精准</view></view
><view class="button_text" style="color: #333333cf"
>医案内容不够精准</view
></view
>
</view>
</view>
<view class="footer_box" v-if="options.taimedId == 1" style="height: 170rpx;">
<view style="color: #5188e5; padding-left: 10rpx; margin-bottom: 0rpx"
>您给出的评价是 :
</view>
<view style="display: flex; flex-direction: row">
<view class="footer_item" ></view>
<view class="footer_item" v-if="currentSelect=='A'">
<image src="/static/icon/a.png"></image>
<view
class="button savebutton"
style="background-color: #2bc66912; color: #2bc669"
>A
</view>
<view class="button_text" style="color: #2bc669"
>特别具有吴门意义</view
>
</view>
<view class="footer_item" v-if="currentSelect=='B'">
<image src="/static/icon/b.png"></image
><view
class="button"
style="background-color: #0099ff0f; color: #0099ff"
>B </view
><view class="button_text" style="color: #0099ff"
>不太具有吴门意义</view
></view
>
<view class="footer_item" v-if="currentSelect=='C'">
<image src="/static/icon/c.png"></image
><view
class="button"
style="background-color: #f2f1f6; color: #333333cf"
>C</view
><view class="button_text" style="color: #333333cf"
>医案内容不够精准</view
></view
>
<view class="footer_item" ></view>
</view>
</view>
</view>
<!-- <z-navigation></z-navigation> -->
<u-modal
:show="show"
@confirm="confirm"
@cancel="cancel"
ref="uModal"
:asyncClose="true"
:showCancelButton="true"
title="提示"
>
<view class="slot-content">
<rich-text :nodes="content"></rich-text>
</view>
</u-modal>
</view>
</template>
@@ -64,12 +130,16 @@ import $http from "@/config/requestConfig.js";
import { mapState, mapMutations } from "vuex";
import medicalDetail from "./medicalDetail.vue";
import qs from "qs";
import color from "uview-ui/libs/config/color";
export default {
components: {
medicalDetail,
},
data() {
return {
selectType: "",
content: "",
show: false,
options: {},
fileList1: [],
@@ -120,6 +190,7 @@ export default {
freeStatus: null,
flag: null,
scrollIntoView: "",
currentSelect: "",
recordData: {},
editableMap: {},
isRefreshing: false, //刷新状态
@@ -129,6 +200,8 @@ export default {
...mapState(["userInfo"]),
},
async onLoad(options) {
this.selectType = "";
this.show = false;
this.options = options;
this.medicalId = options.id;
if (this.options.type == "add") {
@@ -150,6 +223,10 @@ export default {
url: image, // 文件 URL
}));
}
if(this.medicalForm.stateInfo){
this.currentSelect = JSON.parse(this.medicalForm.stateInfo)[this.userInfo.id];
console.log('this.currentSelect at line 223:', this.currentSelect)
}
});
// this.tishi=true
@@ -209,6 +286,36 @@ export default {
}, 800);
},
methods: {
showModal(type) {
this.selectType = type;
var color = "";
var content = "";
switch (type) {
case "A":
color = "#2bc669";
content = "特别具有吴门意义";
break;
case "B":
color = "#0099ff";
content = "不太具有吴门意义";
break;
case "C":
color = "#333333cf";
content = "医案内容不够精准";
break;
}
this.content = `您确定选择 <span style="color:${color};font-size:20px;font-weight:bold;margin:0 4px">${type} </span> 吗?`;
this.show = true;
},
confirm() {
this.handleSubmit(this.selectType);
},
cancel() {
this.show = false;
},
//更新子组件内容
updateEditableMap(val) {
this.editableMap = val;
@@ -225,14 +332,13 @@ export default {
},
handleSubmit(type) {
this.$http
.request({
url: "common/medicalRecords/medicalRecordsCheck",
method: "POST",
data: {
"id":this.options.id,
"state":type
id: this.options.id,
state: type,
},
header: {
"Content-Type": "application/json",
@@ -241,16 +347,27 @@ export default {
.then((res) => {
if (res.code == 0) {
console.log("res.code at line 434:", res.code);
uni.redirectTo({
url: "/pages/medicalRecords/PendingApprovalIndex",
});
setTimeout(() => {
// 3秒后自动关闭
this.show = false;
}, 500);
uni.redirectTo({
url: "/pages/medicalRecords/PendingApprovalIndex",
});
} else {
setTimeout(() => {
// 3秒后自动关闭
this.show = false;
}, 500);
this.$commonJS.showToast(res.msg);
}
})
.catch((err) => {});
.catch((err) => {
setTimeout(() => {
// 3秒后自动关闭
this.show = false;
}, 500);
});
},
// 判断内容是否为空或无效
@@ -1605,23 +1722,22 @@ h3 {
flex: 1;
// display: flex;
// align-items: center;
image{
width: 80rpx;
height: 80rpx;
margin-right: -60rpx;
margin-left: 60rpx;
float: left;
image {
width: 80rpx;
height: 80rpx;
margin-right: -60rpx;
margin-left: 60rpx;
float: left;
}
.button_text{
.button_text {
position: relative;
font-size: 24rpx;
color: #666;
margin-top: 10rpx;
padding-left: 30rpx;
width: 100%;
display: inline-block;
text-align: center;
width: 100%;
display: inline-block;
text-align: center;
}
.button {
float: left;
@@ -1629,7 +1745,7 @@ float: left;
background-color: #f0f0f0;
// margin: auto auto;
margin-top: 10rpx;
padding-left:40rpx;
padding-left: 40rpx;
border-radius: 50px;
line-height: 36px;
height: 36px;

View File

@@ -850,30 +850,30 @@ export default {
this.record = {
information: data.information
? data.information
: recordData.information,
: this.recordData.information,
chiefComplaint: data.chiefComplaint
? data.chiefComplaint
: recordData.chiefComplaint,
: this.recordData.chiefComplaint,
historyOfPresentIllness: data.historyOfPresentIllness
? data.historyOfPresentIllness
: recordData.historyOfPresentIllness,
: this.recordData.historyOfPresentIllness,
pastHistory: data.pastHistory
? data.pastHistory
: recordData.pastHistory,
: this.recordData.pastHistory,
personalAndFamilyHistory: data.personalAndFamilyHistory
? data.personalAndFamilyHistory
: recordData.personalAndFamilyHistory,
: this.recordData.personalAndFamilyHistory,
physicaExamination: data.physicaExamination
? data.physicaExamination
: recordData.physicaExamination,
diagnosis: data.diagnosis ? data.diagnosis : recordData.diagnosis,
: this.recordData.physicaExamination,
diagnosis: data.diagnosis ? data.diagnosis : this.recordData.diagnosis,
treatmentPlan: data.treatmentPlan
? data.treatmentPlan
: recordData.treatmentPlan,
: this.recordData.treatmentPlan,
other: data.other
? data.other
: recordData.other,
: this.recordData.other,
};
for (const key in this.record) {
this.$set(this.editableMap, key, this.getInnerHtml(this.record[key]));

View File

@@ -303,7 +303,7 @@ export default {
if (res2.code == 0 && res2.flag == true) {
this.pageList.splice(2, 0, {
name: "审批医案",
name: "审批医案",
url: "/pages/medicalRecords/PendingApprovalIndex",
type: "pageJump",
contentType: "shengpi",