"use strict"; const common_vendor = require("../../common/vendor.js"); const utils_dict = require("../../utils/dict.js"); const stores_useHomeButton = require("../../stores/useHomeButton.js"); if (!Array) { const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon"); _easycom_u_loading_icon2(); } const _easycom_u_loading_icon = () => "../../uni_modules/uview-plus/components/u-loading-icon/u-loading-icon.js"; if (!Math) { _easycom_u_loading_icon(); } const _sfc_main = { __name: "CaseInfo", setup(__props) { const { showHomeButton, checkAutoLogin, goHome } = stores_useHomeButton.useHomeButton(); const dict = common_vendor.ref({}); const caseDetail = common_vendor.ref({}); const loading = common_vendor.ref(false); const activeTab = common_vendor.ref("basic"); const caseId = common_vendor.ref(null); const tabs = common_vendor.ref([ { id: "basic", label: "基本信息" }, { id: "medical", label: "医疗信息" }, { id: "contact", label: "联系信息" }, { id: "transport", label: "转运信息" } ]); const hasTransport = common_vendor.computed(() => { return caseDetail.value.serviceTransport; }); common_vendor.computed(() => { return caseDetail.value.reportStatus === "1" || caseDetail.value.reportStatus === "2" || caseDetail.value.reportStatus === "4"; }); common_vendor.onLoad(async (options) => { checkAutoLogin(options); if (options.id) { caseId.value = options.id; dict.value = await utils_dict.useDict( "sys_user_sex", "sys_BloodType", "sys_IDType", "sys_AgeUnit" ); await loadCaseDetail(options.id); } }); const loadCaseDetail = async (id) => { loading.value = true; try { const res = await common_vendor.index.$uapi.get( `/project/donatebaseinforeport/getInfo/${id}` ); if (res.data) { caseDetail.value = res.data; } else { throw new Error(res.msg || "数据加载失败"); } } catch (error) { common_vendor.index.__f__("error", "at pages/case/CaseInfo.vue:473", "加载案例详情失败:", error); common_vendor.index.showToast({ title: "数据加载失败,请重试", icon: "none" }); } finally { loading.value = false; } }; const getStatusClass = (status) => { const map = { 1: "reported", 2: "read", 3: "agreed", 4: "rejected" }; return map[status] || "reported"; }; const getStatusText = (status) => { const map = { 1: "已上报", 2: "已阅读", 3: "已同意", 4: "已驳回" }; return map[status] || "已上报"; }; const getGenderText = (gender) => { if (!dict.value.sys_user_sex) return gender; const genderItem = dict.value.sys_user_sex.find( (item) => item.dictValue === gender ); return genderItem ? genderItem.dictLabel : gender; }; const getBloodTypeText = (bloodType) => { if (!dict.value.sys_BloodType) return bloodType; const bloodTypeItem = dict.value.sys_BloodType.find( (item) => item.dictValue === bloodType ); return bloodTypeItem ? bloodTypeItem.dictLabel : bloodType; }; const getAgeUnitText = (ageunit) => { if (!ageunit) return ""; const unitMap = { year: "岁", month: "个月", day: "天" }; return unitMap[ageunit] || ageunit; }; const getFullRegisterAddress = () => { const { registerprovincename, registercityname, registertownname, registercommunityname, registeraddress } = caseDetail.value; const parts = [ registerprovincename, registercityname, registertownname, registercommunityname, registeraddress ]; return parts.filter((part) => part).join(""); }; const getFullResidenceAddress = () => { const { residenceprovincename, residencecountyname, residencetownname, residencecommunityname, residenceaddress } = caseDetail.value; const parts = [ residenceprovincename, residencecountyname, residencetownname, residencecommunityname, residenceaddress ]; return parts.filter((part) => part).join(""); }; const getTransportStatusText = (status) => { const map = { 1: "待转运", 2: "转运中", 3: "转运完成", 4: "转运取消", 5: "暂存" }; return map[status] || "未知"; }; const getTransportStatusClass = (status) => { const map = { 1: "pending", 2: "transporting", 3: "completed", 4: "cancelled", 5: "draft" }; return map[status] || "pending"; }; const formatDateTime = (dateTime) => { if (!dateTime) return ""; return dateTime.replace("T", " ").substring(0, 16); }; const switchTab = (tabId) => { activeTab.value = tabId; }; const goBack = () => { if (showHomeButton) { common_vendor.index.switchTab({ url: "/pages/index/index" }); } else { common_vendor.index.navigateBack(); } }; const handleEdit = () => { common_vendor.index.navigateTo({ url: `/pages/case/CaseDetails?id=${caseId.value}&edit=true` }); }; const createTransport = () => { if (caseDetail.value.reportStatus !== "3") { common_vendor.index.showToast({ title: "案例需先审批同意", icon: "none" }); return; } common_vendor.index.navigateTo({ url: `/pages/transport/create?caseId=${caseId.value}&caseNo=${caseDetail.value.caseNo}` }); }; const viewTransportDetail = () => { if (hasTransport.value && caseDetail.value.serviceTransport[0]) { const transport = caseDetail.value.serviceTransport[0]; common_vendor.index.navigateTo({ url: `/pages/transport/detail?id=${transport.id}` }); } }; return (_ctx, _cache) => { return common_vendor.e({ a: caseDetail.value.hospitalLogo, b: common_vendor.t(caseDetail.value.treatmenthospitalname || "未填写治疗医院"), c: common_vendor.t(caseDetail.value.donorNo ? "器官捐献案例" : "案例详情"), d: common_vendor.t(getStatusText(caseDetail.value.reportStatus)), e: common_vendor.n(getStatusClass(caseDetail.value.reportStatus)), f: common_vendor.t(caseDetail.value.caseNo || "未生成"), g: common_vendor.t(formatDateTime(caseDetail.value.reporttime)), h: common_vendor.f(tabs.value, (tab, k0, i0) => { return { a: common_vendor.t(tab.label), b: tab.id, c: activeTab.value === tab.id ? 1 : "", d: common_vendor.o(($event) => switchTab(tab.id), tab.id) }; }), i: activeTab.value === "basic" }, activeTab.value === "basic" ? { j: common_vendor.t(caseDetail.value.name || "未填写"), k: common_vendor.t(getGenderText(caseDetail.value.sex)), l: common_vendor.t(caseDetail.value.age || "0"), m: common_vendor.t(getAgeUnitText(caseDetail.value.ageunit)), n: common_vendor.t(caseDetail.value.idcardno || "未填写"), o: common_vendor.t(getBloodTypeText(caseDetail.value.bloodType)), p: common_vendor.t(caseDetail.value.nation || "未填写"), q: common_vendor.t(caseDetail.value.nationality || "未填写"), r: common_vendor.t(caseDetail.value.nativeplace || "未填写"), s: common_vendor.t(caseDetail.value.education || "未填写"), t: common_vendor.t(caseDetail.value.occupation || "未填写"), v: common_vendor.t(getFullRegisterAddress() || "未填写"), w: common_vendor.t(getFullResidenceAddress() || "未填写") } : {}, { x: activeTab.value === "medical" }, activeTab.value === "medical" ? { y: common_vendor.t(caseDetail.value.diagnosisname || "未填写"), z: common_vendor.t(caseDetail.value.illnessoverview || "未填写"), A: common_vendor.t(caseDetail.value.patientstate || "未填写"), B: common_vendor.t(caseDetail.value.inpatientno || "未填写"), C: common_vendor.t(caseDetail.value.gcsScore || "未评估"), D: common_vendor.t(caseDetail.value.infectious || "无"), E: common_vendor.t(caseDetail.value.infectiousOther ? `(${caseDetail.value.infectiousOther})` : ""), F: common_vendor.t(caseDetail.value.rhYin === "1" ? "是" : "否") } : {}, { G: activeTab.value === "contact" }, activeTab.value === "contact" ? { H: common_vendor.t(caseDetail.value.treatmenthospitalname || "未填写"), I: common_vendor.t(caseDetail.value.treatmentdeptname || "未填写"), J: common_vendor.t(caseDetail.value.toHospital || "未填写"), K: common_vendor.t(caseDetail.value.phone || "未填写"), L: common_vendor.t(caseDetail.value.infoName || "未填写"), M: common_vendor.t(caseDetail.value.infoNo || "未填写"), N: common_vendor.t(caseDetail.value.icuDoctor || "未填写"), O: common_vendor.t(caseDetail.value.icuDoctorPhone || "未填写"), P: common_vendor.t(caseDetail.value.coordinatorName || "未填写"), Q: common_vendor.t(caseDetail.value.coordinatorNo || "未填写") } : {}, { R: activeTab.value === "transport" }, activeTab.value === "transport" ? common_vendor.e({ S: caseDetail.value.reportStatus === "3" }, caseDetail.value.reportStatus === "3" ? common_vendor.e({ T: caseDetail.value.isTransport === "2" && !hasTransport.value }, caseDetail.value.isTransport === "2" && !hasTransport.value ? { U: common_vendor.o(createTransport) } : {}, { V: hasTransport.value }, hasTransport.value ? { W: common_vendor.o(viewTransportDetail) } : {}) : {}, { X: common_vendor.t(caseDetail.value.isTransport === "2" ? "需要" : "不需要"), Y: hasTransport.value && caseDetail.value.serviceTransport }, hasTransport.value && caseDetail.value.serviceTransport ? { Z: common_vendor.f(caseDetail.value.serviceTransport, (transport, k0, i0) => { return common_vendor.e({ a: common_vendor.t(transport.reportId || transport.id), b: common_vendor.t(transport.transportStartPlace), c: common_vendor.t(formatDateTime(transport.transportStartTime)), d: common_vendor.t(transport.contactPerson), e: common_vendor.t(getTransportStatusText(transport.transitStatus)), f: common_vendor.n(getTransportStatusClass(transport.transitStatus)), g: transport.doctor }, transport.doctor ? { h: common_vendor.t(transport.doctor) } : {}, { i: transport.nurse }, transport.nurse ? { j: common_vendor.t(transport.nurse) } : {}, { k: transport.driver }, transport.driver ? { l: common_vendor.t(transport.driver) } : {}, { m: transport.icuDoctor }, transport.icuDoctor ? { n: common_vendor.t(transport.icuDoctor) } : {}, { o: transport.id }); }) } : caseDetail.value.isTransport === "2" ? common_vendor.e({ ab: caseDetail.value.reportStatus !== "3" }, caseDetail.value.reportStatus !== "3" ? {} : {}) : {}, { aa: caseDetail.value.isTransport === "2" }) : {}, { ac: common_vendor.o(goBack), ad: caseDetail.value.reportStatus === "1" || caseDetail.value.reportStatus === "2" }, caseDetail.value.reportStatus === "1" || caseDetail.value.reportStatus === "2" ? { ae: common_vendor.o(handleEdit) } : {}, { af: loading.value }, loading.value ? { ag: common_vendor.p({ show: loading.value, text: "加载中..." }) } : {}, { ah: common_vendor.gei(_ctx, "") }); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e2759137"]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/case/CaseInfo.js.map