From 181a98c157f2577f2aff9446f9217630f17e7a27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=8B=E4=BA=8E=E5=88=9D=E8=A7=81?= <752204717@qq.com> Date: Fri, 8 Aug 2025 17:36:23 +0800 Subject: [PATCH] tijiao --- pages/medicalRecords/PendingApprovalIndex.vue | 41 +++- pages/medicalRecords/evaluateDetail.vue | 192 ++++++++++++++---- pages/medicalRecords/medicalDetail.vue | 18 +- pages/my/index.vue | 2 +- 4 files changed, 195 insertions(+), 58 deletions(-) diff --git a/pages/medicalRecords/PendingApprovalIndex.vue b/pages/medicalRecords/PendingApprovalIndex.vue index 0ab89fff..ed6bff6d 100644 --- a/pages/medicalRecords/PendingApprovalIndex.vue +++ b/pages/medicalRecords/PendingApprovalIndex.vue @@ -3,21 +3,32 @@ + + + + + - + + 去评价 @@ -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}`, + }); }, }, diff --git a/pages/medicalRecords/evaluateDetail.vue b/pages/medicalRecords/evaluateDetail.vue index 84069594..3e299f88 100644 --- a/pages/medicalRecords/evaluateDetail.vue +++ b/pages/medicalRecords/evaluateDetail.vue @@ -26,36 +26,102 @@ ref="commonMedicalDetail" > - - 请您结合医案内容给出评价 : + + + 请您结合医案内容给出评价 : + - + - A - - 特别具有吴门意义 + + 特别具有吴门意义 - + B 不太具有吴门意义不太具有吴门意义 - + C医案内容不够精准医案内容不够精准 - - + + 您给出的评价是 : + + + + + + A + + 特别具有吴门意义 + + + B 不太具有吴门意义 + + C医案内容不够精准 + + + + + + + + + @@ -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 = `您确定选择 ${type} 吗?`; + + 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; diff --git a/pages/medicalRecords/medicalDetail.vue b/pages/medicalRecords/medicalDetail.vue index 8fe9cedb..5c22e55f 100644 --- a/pages/medicalRecords/medicalDetail.vue +++ b/pages/medicalRecords/medicalDetail.vue @@ -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])); diff --git a/pages/my/index.vue b/pages/my/index.vue index b53d6289..5fb227a6 100644 --- a/pages/my/index.vue +++ b/pages/my/index.vue @@ -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",