WXL
昨天 c80bc467a41daa6cbae4e5515a300a8ca98cfeaa
unpackage/dist/dev/mp-weixin/pagesSub/case/CaseDetails.js
@@ -1,34 +1,76 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const stores_user = require("../../stores/user.js");
const utils_dict = require("../../utils/dict.js");
const utils_useDictMapper = require("../../utils/useDictMapper.js");
if (!Array) {
  const _easycom_u_input2 = common_vendor.resolveComponent("u-input");
  const _easycom_u_textarea2 = common_vendor.resolveComponent("u-textarea");
  const _easycom_u_button2 = common_vendor.resolveComponent("u-button");
  const _easycom_u_picker2 = common_vendor.resolveComponent("u-picker");
  const _easycom_u_datetime_picker2 = common_vendor.resolveComponent("u-datetime-picker");
  const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
  (_easycom_u_input2 + _easycom_u_textarea2 + _easycom_u_button2 + _easycom_u_picker2 + _easycom_u_datetime_picker2 + _easycom_u_loading_icon2)();
  const _easycom_u_button2 = common_vendor.resolveComponent("u-button");
  (_easycom_u_input2 + _easycom_u_textarea2 + _easycom_u_datetime_picker2 + _easycom_u_button2)();
}
const _easycom_u_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js";
const _easycom_u_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js";
const _easycom_u_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
const _easycom_u_picker = () => "../../uni_modules/uview-plus/components/u-picker/u-picker.js";
const _easycom_u_datetime_picker = () => "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js";
const _easycom_u_loading_icon = () => "../../uni_modules/uview-plus/components/u-loading-icon/u-loading-icon.js";
const _easycom_u_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
if (!Math) {
  (_easycom_u_input + _easycom_u_textarea + _easycom_u_button + common_vendor.unref(attachmentUpload) + _easycom_u_picker + _easycom_u_datetime_picker + _easycom_u_loading_icon)();
  (_easycom_u_input + common_vendor.unref(AreaSelect) + _easycom_u_textarea + _easycom_u_datetime_picker + common_vendor.unref(attachmentUpload) + _easycom_u_button)();
}
const attachmentUpload = () => "../../components/attachment/index.js";
const AreaSelect = () => "../../components/AreaSelect/index.js";
const _sfc_main = {
  __name: "CaseDetails",
  setup(__props) {
    const dict = common_vendor.ref({});
    const requiredDictTypes = [
      "sys_IDType",
      "sys_user_sex",
      "sys_Nation",
      "sys_BloodType",
      "sys_Infectious",
      "sys_AgeUnit",
      // 年龄单位(已存在)
      "sys_education",
      "sys_occupation"
    ];
    const { dictData, loading: dictLoading } = utils_useDictMapper.useDictMapper(requiredDictTypes);
    const getDictList = (dictType) => dictData.value[dictType] || [];
    const nationList = common_vendor.computed(
      () => getDictList("sys_Nation").map((item) => item.label)
    );
    const idCardTypeList = common_vendor.computed(
      () => getDictList("sys_IDType").map((item) => item.label)
    );
    const infectiousList = common_vendor.computed(() => getDictList("sys_Infectious"));
    const educationList = common_vendor.computed(
      () => getDictList("sys_education").map((item) => item.label)
    );
    const occupationList = common_vendor.computed(
      () => getDictList("sys_occupation").map((item) => item.label)
    );
    const ageUnitList = common_vendor.computed(
      () => getDictList("sys_AgeUnit").map((item) => item.label)
    );
    const userStore = stores_user.useUserStore();
    const isEditMode = common_vendor.ref(false);
    const currentId = common_vendor.ref(null);
    const selectedInfectious = common_vendor.ref([]);
    const loading = common_vendor.ref(false);
    const currentTime = common_vendor.ref("");
    const disabledColor = common_vendor.ref("#f5f5f7");
    const isReadonly = common_vendor.ref(false);
    common_vendor.ref(false);
    common_vendor.ref(0);
    const nationIndex = common_vendor.ref(-1);
    const idCardTypeIndex = common_vendor.ref(-1);
    const educationIndex = common_vendor.ref(-1);
    const occupationIndex = common_vendor.ref(-1);
    const idCardError = common_vendor.ref("");
    const attachments = common_vendor.ref([]);
    const ageUnitIndex = common_vendor.ref(-1);
    const showReportTimePicker = common_vendor.ref(false);
    const reportTimeValue = common_vendor.ref(Date.now());
    const residenceAddress = common_vendor.ref({ sheng: "", shi: "", qu: "" });
    const registerAddress = common_vendor.ref({ sheng: "", shi: "", qu: "" });
    const form = common_vendor.ref({
      caseNo: "",
      treatmenthospitalname: "",
@@ -36,6 +78,7 @@
      coordinatorName: "",
      coordinatorNo: "",
      treatmentdeptname: "",
      deptName: "",
      name: "",
      nation: "",
      nationality: "中国",
@@ -45,203 +88,239 @@
      birthday: "",
      age: "",
      ageunit: "",
      // 新增:年龄单位
      inpatientno: "",
      gcsScore: "",
      diagnosisname: "",
      bloodType: "",
      rhYin: "",
      infoName: "",
      phone: "",
      icuDoctor: "",
      icuDoctorPhone: "",
      reportername: "",
      reporterno: "",
      reporterphone: "",
      // 报告者联系电话
      reporttime: "",
      contactperson: "",
      // 新增:联系人(协调员)
      education: "",
      // 新增:学历
      illnessoverview: "",
      // 新增:病情概况
      infectious: "",
      // 传染病情况
      infectiousOther: "",
      // 传染病其他
      isTransport: "",
      // 新增:是否需要转运,默认1不需要
      nativeplace: "",
      // 新增:籍贯
      occupation: "",
      // 新增:职业
      patientstate: "",
      // 新增:病人状况
      registeraddress: "",
      // 新增:户籍地址
      registerprovince: "",
      // 新增:户籍地址省编号
      registerprovincename: "",
      // 新增:户籍地址省名称
      registercityname: "",
      // 新增:市名称
      registertownname: "",
      // 新增:所属街道(镇)名称
      registercommunityname: "",
      // 新增:社区(村)名称
      residenceaddress: "",
      // 新增:现住地址
      residenceprovince: "",
      // 新增:现住地址省代码
      residenceprovincename: "",
      // 新增:现住地址省名称
      residencecountycode: "",
      // 新增:所属区域编号
      residencecountyname: "",
      // 新增:所属区域名称
      residencetownname: "",
      // 新增:所属街道(镇)名称
      residencecommunity: "",
      // 新增:社区(村)编号
      residencecommunityname: "",
      // 新增:社区(村)名称
      remark: "",
      // 新增:备注
      reportStatus: "1",
      // 新增:上报状态,默认1已上报
      terminationCase: 0,
      // 新增:是否终止案例,默认0开启
      annexfilesList: []
      // 附件文件地址集合
    });
    const attachments = common_vendor.ref([]);
    const infectiousDiseaselist = common_vendor.ref([]);
    const nationLabel = common_vendor.ref([]);
    const isReadonly = common_vendor.ref(false);
    const id = common_vendor.ref(null);
    const selectShow = common_vendor.ref(false);
    const showHospitalPicker = common_vendor.ref(false);
    const showNationPicker = common_vendor.ref(false);
    common_vendor.ref(false);
    const showDatePicker = common_vendor.ref(false);
    const showReporterPicker = common_vendor.ref(false);
    const birthdayValue = common_vendor.ref(0);
    const hospitalOptions = common_vendor.ref([
      { label: "青岛镜湖医院", value: "qdhospital1" },
      { label: "青岛科大医院", value: "qdhospital2" },
      { label: "青岛大学附属医院", value: "qdhospital3" },
      { label: "青岛市立医院", value: "qdhospital4" }
    ]);
    const pickerColumns = common_vendor.ref([
      [
        { label: "神经外科", value: "neurosurgery" },
        { label: "心血管内科", value: "cardiology" },
        { label: "重症医学科", value: "icu" },
        { label: "急诊科", value: "emergency" },
        { label: "神经内科", value: "neurology" },
        { label: "呼吸内科", value: "respiratory" },
        { label: "消化内科", value: "gastroenterology" },
        { label: "肾内科", value: "nephrology" }
      ]
    ]);
    const nationOptions = common_vendor.ref([
      { label: "汉族", value: "han" },
      { label: "回族", value: "hui" },
      { label: "满族", value: "man" },
      { label: "蒙古族", value: "menggu" }
    ]);
    const idCardTypeOptions = common_vendor.ref([
      { label: "居民身份证", value: "idcard" },
      { label: "护照", value: "passport" },
      { label: "军官证", value: "officer" }
    ]);
    const genderOptions = common_vendor.ref([
      { label: "男", value: "1" },
      { label: "女", value: "2" }
    ]);
    const bloodTypeOptions = common_vendor.ref([
    const genderOptions = common_vendor.computed(() => {
      const sexDict = getDictList("sys_user_sex");
      if (sexDict.length)
        return sexDict.map((item) => ({ label: item.label, value: item.value }));
      return [
        { label: "男", value: "1" },
        { label: "女", value: "2" }
      ];
    });
    const bloodTypeOptions = [
      { label: "A型", value: "A型" },
      { label: "B型", value: "B型" },
      { label: "O型", value: "O型" },
      { label: "AB型", value: "AB型" }
    ]);
    common_vendor.ref([
      { label: "需要", value: "2" },
      { label: "不需要", value: "1" }
    ]);
    const rhOptions = common_vendor.ref([
    ];
    const rhOptions = [
      { label: "阳性", value: "1" },
      { label: "阴性", value: "0" }
    ]);
    const reporterOptions = common_vendor.ref([
      { label: "张医生", value: "doctor1" },
      { label: "李医生", value: "doctor2" }
    ]);
    const loading = common_vendor.ref(false);
    const currentTime = common_vendor.ref("");
    const disabledColor = common_vendor.ref("#f5f5f7");
    const isFormValid = common_vendor.computed(() => {
      return form.value.name && // form.value.idcardno &&
      form.value.diagnosisname && form.value.toHospital;
    });
    const hospitalIndex = common_vendor.ref(-1);
    const deptIndex = common_vendor.ref(-1);
    const nationIndex = common_vendor.ref(-1);
    const idCardTypeIndex = common_vendor.ref(-1);
    const hospitalLabels = common_vendor.computed(
      () => hospitalOptions.value.map((item) => item.label)
    ];
    const isFormValid = common_vendor.computed(
      () => form.value.name && form.value.diagnosisname && form.value.toHospital
    );
    const ageDisplay = common_vendor.computed(() => {
      if (!form.value.age || !form.value.ageunit) {
        return "自动计算";
    const currentAgeUnitText = common_vendor.computed(() => {
      if (ageUnitIndex.value >= 0 && ageUnitList.value[ageUnitIndex.value]) {
        return ageUnitList.value[ageUnitIndex.value];
      }
      return `${form.value.age}${form.value.ageunit}`;
      if (form.value.ageunit) {
        const found = getDictList("sys_AgeUnit").find(
          (item) => item.value === form.value.ageunit
        );
        return found ? found.label : form.value.ageunit;
      }
      return "";
    });
    const deptLabels = common_vendor.computed(() => {
      return pickerColumns.value[0].map((item) => item.label);
    const currentNationText = common_vendor.computed(() => {
      if (nationIndex.value >= 0 && nationList.value[nationIndex.value])
        return nationList.value[nationIndex.value];
      return form.value.nation || "";
    });
    const nationLabels = common_vendor.computed(
      () => nationLabel.value.map((item) => item.label)
    );
    const idCardTypeLabels = common_vendor.computed(
      () => idCardTypeOptions.value.map((item) => item.label)
    );
    common_vendor.computed(() => {
      return hospitalIndex.value >= 0 ? hospitalLabels.value[hospitalIndex.value] : "请选择医疗机构";
    const currentIdCardTypeText = common_vendor.computed(() => {
      if (idCardTypeIndex.value >= 0 && idCardTypeList.value[idCardTypeIndex.value])
        return idCardTypeList.value[idCardTypeIndex.value];
      if (form.value.idcardtype) {
        const found = getDictList("sys_IDType").find(
          (item) => item.value == form.value.idcardtype
        );
        return found ? found.label : form.value.idcardtype;
      }
      return "";
    });
    common_vendor.computed(() => {
      return deptIndex.value >= 0 ? deptLabels.value[deptIndex.value] : "请选择科室";
    const currentEducationText = common_vendor.computed(() => {
      if (educationIndex.value >= 0 && educationList.value[educationIndex.value])
        return educationList.value[educationIndex.value];
      if (form.value.education) {
        const found = getDictList("sys_education").find(
          (item) => item.value == form.value.education
        );
        return found ? found.label : form.value.education;
      }
      return "";
    });
    const currentNation = common_vendor.computed(() => {
      return nationIndex.value >= 0 ? nationLabels.value[nationIndex.value] : form.value.nation ? form.value.nation : "请选择民族";
    const currentOccupationText = common_vendor.computed(() => {
      if (occupationIndex.value >= 0 && occupationList.value[occupationIndex.value])
        return occupationList.value[occupationIndex.value];
      if (form.value.occupation) {
        const found = getDictList("sys_occupation").find(
          (item) => item.value == form.value.occupation
        );
        return found ? found.label : form.value.occupation;
      }
      return "";
    });
    const currentIdCardType = common_vendor.computed(() => {
      return idCardTypeIndex.value >= 0 ? idCardTypeLabels.value[idCardTypeIndex.value] : "请选择证件类型";
    });
    const updateCurrentTime = () => {
      const now = /* @__PURE__ */ new Date();
      const year = now.getFullYear();
      const month = String(now.getMonth() + 1).padStart(2, "0");
      const day = String(now.getDate()).padStart(2, "0");
      const hours = String(now.getHours()).padStart(2, "0");
      const minutes = String(now.getMinutes()).padStart(2, "0");
      const seconds = String(now.getSeconds()).padStart(2, "0");
      const timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
      currentTime.value = timeStr;
      if (!form.value.reporttime) {
        form.value.reporttime = timeStr;
      }
    };
    const generateCaseNo = () => {
      const now = /* @__PURE__ */ new Date();
      const year = now.getFullYear();
      const month = String(now.getMonth() + 1).padStart(2, "0");
      const day = String(now.getDate()).padStart(2, "0");
      const hours = String(now.getHours()).padStart(2, "0");
      const minutes = String(now.getMinutes()).padStart(2, "0");
      form.value.caseNo = `opo${year}${month}${day}${hours}${minutes}`;
    };
    const onNationChange = (e) => {
      const index = parseInt(e.detail.value);
      nationIndex.value = index;
      form.value.nation = nationOptions.value[index].label;
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:670", form.value.nation, "form.value.nation");
      form.value.nation = nationList.value[index];
    };
    const onIdCardTypeChange = (e) => {
      const index = parseInt(e.detail.value);
      idCardTypeIndex.value = index;
      form.value.idcardtype = idCardTypeOptions.value[index].value;
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:677", form.value.idcardtype, "form.value.idcardtype");
      const selectedLabel = idCardTypeList.value[index];
      const dictItem = getDictList("sys_IDType").find(
        (item) => item.label == selectedLabel
      );
      form.value.idcardtype = dictItem ? dictItem.value : selectedLabel;
    };
    const onEducationChange = (e) => {
      const index = parseInt(e.detail.value);
      educationIndex.value = index;
      const selectedLabel = educationList.value[index];
      const dictItem = getDictList("sys_education").find(
        (item) => item.label == selectedLabel
      );
      form.value.education = dictItem ? dictItem.value : selectedLabel;
    };
    const onOccupationChange = (e) => {
      const index = parseInt(e.detail.value);
      occupationIndex.value = index;
      const selectedLabel = occupationList.value[index];
      const dictItem = getDictList("sys_occupation").find(
        (item) => item.label == selectedLabel
      );
      form.value.occupation = dictItem ? dictItem.value : selectedLabel;
    };
    const onAgeUnitChange = (e) => {
      const index = parseInt(e.detail.value);
      ageUnitIndex.value = index;
      const selectedLabel = ageUnitList.value[index];
      const dictItem = getDictList("sys_AgeUnit").find(
        (item) => item.label === selectedLabel
      );
      form.value.ageunit = dictItem ? dictItem.value : selectedLabel;
    };
    const onBirthdayChange = (e) => {
      form.value.birthday = e.detail.value;
      calculateAge();
    };
    const onDateConfirm = (e) => {
      const date = new Date(e.value);
      form.value.birthday = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, "0")}-${date.getDate().toString().padStart(2, "0")}`;
      calculateAge();
      showDatePicker.value = false;
    const calculateAge = () => {
      if (!form.value.birthday) {
        form.value.age = "";
        form.value.ageunit = "";
        ageUnitIndex.value = -1;
        return;
      }
      const birthDate = new Date(form.value.birthday);
      const today = /* @__PURE__ */ new Date();
      if (isNaN(birthDate.getTime()))
        return;
      if (birthDate > today) {
        common_vendor.index.showToast({ title: "出生日期不能是未来日期", icon: "none" });
        form.value.age = "";
        form.value.ageunit = "";
        ageUnitIndex.value = -1;
        return;
      }
      const daysDiff = Math.floor((today - birthDate) / (1e3 * 60 * 60 * 24));
      if (daysDiff < 0)
        return;
      let years = today.getFullYear() - birthDate.getFullYear();
      let months = today.getMonth() - birthDate.getMonth();
      let days = today.getDate() - birthDate.getDate();
      let ageValue, ageUnit;
      if (years >= 1) {
        if (months < 0 || months === 0 && days < 0)
          years--;
        ageValue = years.toString();
        ageUnit = "岁";
      } else if (daysDiff >= 30) {
        let totalMonths = years * 12 + months;
        if (days < 0)
          totalMonths--;
        ageValue = Math.max(1, totalMonths).toString();
        ageUnit = "个月";
      } else {
        ageValue = Math.max(1, daysDiff).toString();
        ageUnit = "天";
      }
      form.value.age = ageValue;
      form.value.ageunit = ageUnit;
      const unitList = ageUnitList.value;
      const idx = unitList.findIndex((item) => item === ageUnit);
      ageUnitIndex.value = idx >= 0 ? idx : -1;
    };
    const idCardError = common_vendor.ref("");
    const validateIdCard = () => {
      const idCard = form.value.idcardno;
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:700", idCard, "当前输入");
      if (!idCard) {
        idCardError.value = "";
        return true;
      }
      if (idCard.length !== 18) {
        idCardError.value = "身份证号码必须是18位";
        return false;
@@ -251,57 +330,6 @@
        idCardError.value = "身份证号码格式不正确";
        return false;
      }
      const birthStr = idCard.substring(6, 14);
      const year = birthStr.substring(0, 4);
      const month = birthStr.substring(4, 6);
      const day = birthStr.substring(6, 8);
      const birthDate = /* @__PURE__ */ new Date(`${year}-${month}-${day}`);
      if (isNaN(birthDate.getTime())) {
        idCardError.value = "身份证号码中的出生日期无效";
        return false;
      }
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:729", 3);
      const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
      const birthYear = parseInt(year, 10);
      if (birthYear < 1900 || birthYear > currentYear) {
        idCardError.value = "出生年份不在有效范围内";
        return false;
      }
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:738", 4);
      if (!validateIdCardCheckCode(idCard)) {
        idCardError.value = "身份证号码校验失败";
        return false;
      }
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:745", 5);
      idCardError.value = "";
      return true;
    };
    const onIdCardChange = (value) => {
      if (validateIdCard()) {
        extractBirthdayFromIdCard();
      }
    };
    const handleGcsBlur = () => {
      const val = Number(form.value.gcsScore);
      if (!val && val !== 0)
        return;
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:762", val);
      if (val > 7) {
        common_vendor.index.showToast({
          title: "GCS评分不能大于7",
          icon: "none"
        });
        form.value.gcsScore = "";
      }
      if (val < 3) {
        common_vendor.index.showToast({
          title: "GCS评分不能小于3",
          icon: "none"
        });
        form.value.gcsScore = "";
      }
    };
    const validateIdCardCheckCode = (idCard) => {
      const coefficientArray = [
        7,
        9,
@@ -323,261 +351,113 @@
      ];
      const checkCodeMap = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];
      let sum = 0;
      for (let i = 0; i < 17; i++) {
      for (let i = 0; i < 17; i++)
        sum += parseInt(idCard.charAt(i), 10) * coefficientArray[i];
      }
      const checkCode = checkCodeMap[sum % 11];
      return checkCode === idCard.charAt(17).toUpperCase();
      if (checkCode != idCard.charAt(17).toUpperCase()) {
        idCardError.value = "身份证号码校验失败";
        return false;
      }
      idCardError.value = "";
      return true;
    };
    const onIdCardChange = () => {
      if (validateIdCard())
        extractBirthdayFromIdCard();
    };
    const extractBirthdayFromIdCard = () => {
      const idCard = form.value.idcardno;
      if (!idCard || idCard.length !== 18) {
      if (!idCard || idCard.length !== 18)
        return;
      }
      try {
        const birthStr = idCard.substring(6, 14);
        const year = birthStr.substring(0, 4);
        const month = birthStr.substring(4, 6);
        const day = birthStr.substring(6, 8);
        const birthDate = /* @__PURE__ */ new Date(`${year}-${month}-${day}`);
        if (isNaN(birthDate.getTime())) {
          common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:816", "身份证号码中的出生日期无效");
          return;
        }
        const today = /* @__PURE__ */ new Date();
        if (birthDate > today) {
          common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:823", "出生日期不能是未来日期");
          return;
        }
        const monthNum = parseInt(month, 10);
        const dayNum = parseInt(day, 10);
        if (monthNum < 1 || monthNum > 12) {
          common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:832", "月份无效");
          return;
        }
        const daysInMonth = new Date(year, monthNum, 0).getDate();
        if (dayNum < 1 || dayNum > daysInMonth) {
          common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:839", "日期无效");
          return;
        }
        form.value.birthday = `${year}-${month.padStart(2, "0")}-${day.padStart(
          2,
          "0"
        )}`;
        calculateAge();
        const genderCode = parseInt(idCard.charAt(16), 10);
        if (!isNaN(genderCode)) {
          form.value.sex = genderCode % 2 === 1 ? "1" : "2";
        }
        common_vendor.index.showToast({
          title: "已自动提取出生日期和性别",
          icon: "success",
          duration: 1500
        });
      } catch (error) {
        common_vendor.index.__f__("error", "at pagesSub/case/CaseDetails.vue:864", "解析身份证出生日期失败:", error);
      }
      const year = idCard.substring(6, 10);
      const month = idCard.substring(10, 12);
      const day = idCard.substring(12, 14);
      const birthDate = /* @__PURE__ */ new Date(`${year}-${month}-${day}`);
      if (isNaN(birthDate.getTime()))
        return;
      form.value.birthday = `${year}-${month}-${day}`;
      calculateAge();
      const genderCode = parseInt(idCard.charAt(16), 10);
      if (!isNaN(genderCode))
        form.value.sex = genderCode % 2 === 1 ? "1" : "2";
      common_vendor.index.showToast({
        title: "已自动提取出生日期和性别",
        icon: "success",
        duration: 1500
      });
    };
    const textareaStyle = (isError) => {
      return isError ? "border: 2rpx solid #ff4757; border-radius: 12rpx; min-height: 120rpx; padding: 20rpx 24rpx;" : "border: 2rpx solid #e5e5e7; border-radius: 12rpx; min-height: 120rpx; padding: 20rpx 24rpx;";
    };
    common_vendor.onMounted(() => {
      setInterval(updateCurrentTime, 1e3);
    });
    common_vendor.onLoad(async (options) => {
      id.value = options.id;
      if (options.id) {
        currentId.value = options.id;
        isEditMode.value = true;
        await loadCaseData(options.id);
      } else {
        isEditMode.value = false;
        generateDonorNo();
    const handleGcsBlur = () => {
      const val = Number(form.value.gcsScore);
      if (!val && val !== 0)
        return;
      if (val > 7) {
        common_vendor.index.showToast({ title: "GCS评分不能大于7", icon: "none" });
        form.value.gcsScore = "";
      }
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:891", userStore.userInfo, "userStoreuserInfo");
      if (!userStore.userInfo) {
        await userStore.refreshUserInfo();
      }
      form.value.treatmenthospitalname = userStore.userInfo.orgName;
      form.value.toHospital = userStore.userInfo.orgName;
      form.value.coordinatorName = userStore.userInfo.coordinatorName;
      form.value.coordinatorNo = userStore.userInfo.coordinatorNo;
      form.value.infoName = userStore.userInfo.nickName;
      form.value.phone = userStore.userInfo.phonenumber;
      form.value.reportername = userStore.userInfo.name;
      form.value.reporterno = userStore.userInfo.userId;
      dict.value = await utils_dict.useDict(
        "sys_IDType",
        "sys_user_sex",
        "sys_Nation",
        "sys_BloodType",
        "sys_Infectious",
        "sys_AgeUnit",
        // 新增年龄单位
        "sys_education",
        // 新增学历
        "sys_occupation"
        // 新增职业
      );
      initOptions();
      updateCurrentTime();
    });
    const initOptions = () => {
      infectiousDiseaselist.value = dict.value.sys_Infectious || [];
      idCardTypeOptions.value = dict.value.sys_IDType || [];
      nationLabel.value = dict.value.sys_Nation || [];
      if (form.value.infectious) {
        selectedInfectious.value = form.value.infectious.split(",").filter((item) => item.trim() !== "");
      if (val < 3) {
        common_vendor.index.showToast({ title: "GCS评分不能小于3", icon: "none" });
        form.value.gcsScore = "";
      }
    };
    const toggleInfectious = (value) => {
      const index = selectedInfectious.value.indexOf(value);
      if (index === -1) {
      if (index === -1)
        selectedInfectious.value.push(value);
      } else {
      else
        selectedInfectious.value.splice(index, 1);
      }
      form.value.infectious = selectedInfectious.value.join(",");
    };
    const isInfectiousSelected = (value) => {
      return selectedInfectious.value.includes(value);
    const isInfectiousSelected = (value) => selectedInfectious.value.includes(value);
    const onReportTimeConfirm = (e) => {
      const date = new Date(e.value);
      const year = date.getFullYear();
      const month = String(date.getMonth() + 1).padStart(2, "0");
      const day = String(date.getDate()).padStart(2, "0");
      const hours = String(date.getHours()).padStart(2, "0");
      const minutes = String(date.getMinutes()).padStart(2, "0");
      const seconds = String(date.getSeconds()).padStart(2, "0");
      form.value.reporttime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
      showReportTimePicker.value = false;
    };
    const updateCurrentTime = () => {
      const now = /* @__PURE__ */ new Date();
      const year = now.getFullYear();
      const month = String(now.getMonth() + 1).padStart(2, "0");
      const day = String(now.getDate()).padStart(2, "0");
      const hours = String(now.getHours()).padStart(2, "0");
      const minutes = String(now.getMinutes()).padStart(2, "0");
      const seconds = String(now.getSeconds()).padStart(2, "0");
      currentTime.value = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
      form.value.reporttime = currentTime.value;
    };
    const generateDonorNo = () => {
      const date = /* @__PURE__ */ new Date();
      date.getTime().toString().slice(-6);
    };
    const calculateAge = () => {
      if (!form.value.birthday) {
        form.value.age = "";
        form.value.ageunit = "";
        return;
      }
      const birthDate = new Date(form.value.birthday);
      const today = /* @__PURE__ */ new Date();
      if (isNaN(birthDate.getTime())) {
        form.value.age = "";
        form.value.ageunit = "";
        return;
      }
      if (birthDate > today) {
        common_vendor.index.showToast({
          title: "出生日期不能是未来日期",
          icon: "none"
        });
        form.value.age = "";
        form.value.ageunit = "";
        return;
      }
      const timeDiff = today.getTime() - birthDate.getTime();
      const daysDiff = Math.floor(timeDiff / (1e3 * 60 * 60 * 24));
      if (daysDiff < 0) {
        form.value.age = "";
        form.value.ageunit = "";
        return;
      }
      const years = today.getFullYear() - birthDate.getFullYear();
      const months = today.getMonth() - birthDate.getMonth();
      const days = today.getDate() - birthDate.getDate();
      let ageValue, ageUnit;
      if (years >= 1) {
        let actualYears = years;
        if (months < 0 || months === 0 && days < 0) {
          actualYears = years - 1;
        }
        ageValue = actualYears.toString();
        ageUnit = "岁";
      } else if (daysDiff >= 30) {
        let totalMonths = years * 12 + months;
        if (days < 0) {
          totalMonths--;
        }
        ageValue = Math.max(1, totalMonths).toString();
        ageUnit = "个月";
      } else {
        ageValue = Math.max(1, daysDiff).toString();
        ageUnit = "天";
      }
      form.value.age = ageValue;
      form.value.ageunit = ageUnit;
    };
    const handleBaseUpload = (file) => {
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:1053", "基础附件上传成功:", file);
      attachments.value.push(file);
    };
    const handleBaseUpload = (file) => attachments.value.push(file);
    const handleFilesUpdate = (files) => {
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:1059", files, "files");
      attachments.value = files.map((file) => ({
        ...file
        // 确保只存储半路径
        // url: file.url.startsWith("http")
        //   ? file.url.replace(baseUrlHt, "")
        //   : file.url,
      }));
      attachments.value = files.map((file) => ({ ...file }));
    };
    const handlePreview = (file) => {
      const fullUrl = file.url.startsWith("http") ? file.url : baseUrlHt + (file.url.startsWith("/") ? "" : "/") + file.url;
      const fullUrl = file.url.startsWith("http") ? file.url : (file.url.startsWith("/") ? "" : "/") + file.url;
      if (file.type.includes("image")) {
        common_vendor.index.previewImage({
          urls: attachments.value.filter((f) => f.type.includes("image")).map(
            (f) => f.url.startsWith("http") ? f.url : baseUrlHt + (f.url.startsWith("/") ? "" : "/") + f.url
            (f) => f.url.startsWith("http") ? f.url : (f.url.startsWith("/") ? "" : "/") + f.url
          ),
          current: fullUrl
        });
      } else if (file.type.includes("pdf")) {
        common_vendor.index.downloadFile({
          url: fullUrl,
          success: (res) => {
            common_vendor.index.openDocument({
              filePath: res.tempFilePath,
              fileType: "pdf",
              showMenu: true
            });
          },
          fail: (err) => {
            common_vendor.index.__f__("error", "at pagesSub/case/CaseDetails.vue:1098", "打开文档失败:", err);
            common_vendor.index.showToast({ title: "打开文件失败", icon: "none" });
          }
          success: (res) => common_vendor.index.openDocument({
            filePath: res.tempFilePath,
            fileType: "pdf",
            showMenu: true
          })
        });
      } else {
        common_vendor.index.showToast({ title: "暂不支持此文件类型预览", icon: "none" });
      }
    };
    const onConfirm = (e) => {
      if (e.value && e.value[0]) {
        form.value.treatmentdeptname = e.value[0].label;
      }
      selectShow.value = false;
    const onResidenceChange = (val) => {
      form.value.residenceprovincename = val.sheng;
      form.value.residenceprovince = val.provinceCode || "";
      form.value.residencecountyname = val.shi;
      form.value.residencetownname = val.qu;
    };
    const onHospitalConfirm = (e) => {
      common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:1115", e, "民族");
      if (e.value && e.value[0]) {
        form.value.treatmenthospitalname = e.value[0].label;
      }
      showHospitalPicker.value = false;
    const onRegisterChange = (val) => {
      form.value.registerprovincename = val.sheng;
      form.value.registerprovince = val.provinceCode || "";
      form.value.registercityname = val.shi;
      form.value.registertownname = val.qu;
    };
    const onNationConfirm = (e) => {
      if (e.value && e.value[0]) {
        form.value.nation = e.value[0].label;
      }
      showNationPicker.value = false;
    };
    const onReporterConfirm = (e) => {
      if (e.value && e.value[0]) {
        form.value.reporterno = e.value[0].label;
      }
      showReporterPicker.value = false;
    };
    const handleCancel = () => common_vendor.index.navigateBack();
    const resetForm = () => {
      common_vendor.index.showModal({
        title: "确认重置",
@@ -585,23 +465,24 @@
        success: (res) => {
          if (res.confirm) {
            Object.keys(form.value).forEach((key) => {
              if (!["id", "caseNo"].includes(key)) {
              if (!["id", "caseNo"].includes(key))
                form.value[key] = "";
              }
            });
            hospitalIndex.value = -1;
            deptIndex.value = -1;
            form.value.nationality = "中国";
            form.value.reportStatus = "1";
            form.value.terminationCase = 0;
            nationIndex.value = -1;
            idCardTypeIndex.value = -1;
            educationIndex.value = -1;
            occupationIndex.value = -1;
            ageUnitIndex.value = -1;
            selectedInfectious.value = [];
            attachments.value = [];
            form.value.nationality = "中国";
            form.value.isTransport = "";
            form.value.terminationCase = 0;
            form.value.reportStatus = "1";
            if (!isEditMode.value) {
              generateDonorNo();
            }
            residenceAddress.value = { sheng: "", shi: "", qu: "" };
            registerAddress.value = { sheng: "", shi: "", qu: "" };
            if (!isEditMode.value)
              generateCaseNo();
            updateCurrentTime();
            common_vendor.index.showToast({ title: "表单已重置", icon: "success" });
          }
        }
@@ -609,16 +490,15 @@
    };
    const handleSubmit = async () => {
      if (!isFormValid.value) {
        common_vendor.index.showToast({
          title: "请填写姓名、证件号码和疾病诊断",
          icon: "none"
        });
        common_vendor.index.showToast({ title: "请填写姓名、疾病诊断和上报医院", icon: "none" });
        return;
      }
      try {
        loading.value = true;
        common_vendor.index.showLoading({ title: isEditMode.value ? "修改中..." : "提交中..." });
        const submitData = {
          ...form.value,
          treatmenthospitalname: form.value.toHospital,
          age: parseInt(form.value.age) || 0,
          annexfilesList: attachments.value.map((file) => ({
            path: file.url,
@@ -642,20 +522,16 @@
          );
        }
        common_vendor.index.hideLoading();
        if (res.code === 200) {
        if (res.code == 200) {
          common_vendor.index.showToast({
            title: isEditMode.value ? "修改成功" : "上报成功",
            icon: "success"
          });
          removeDraft();
          setTimeout(() => {
            common_vendor.index.navigateBack();
          }, 1500);
          setTimeout(() => common_vendor.index.navigateBack(), 1500);
        } else {
          throw new Error(res.msg || "操作失败");
        }
      } catch (error) {
        common_vendor.index.__f__("error", "at pagesSub/case/CaseDetails.vue:1252", "操作失败:", error);
        common_vendor.index.showToast({
          title: error.message || (isEditMode.value ? "修改失败" : "上报失败"),
          icon: "none"
@@ -664,272 +540,329 @@
        loading.value = false;
      }
    };
    const removeDraft = () => {
      try {
        common_vendor.index.removeStorageSync("caseReportDraft");
      } catch (e) {
        common_vendor.index.__f__("error", "at pagesSub/case/CaseDetails.vue:1265", "移除草稿失败", e);
      }
    };
    const handleCancel = () => {
      common_vendor.index.navigateBack();
    };
    const loadCaseData = async (id2) => {
    const loadCaseData = async (id) => {
      try {
        loading.value = true;
        const res = await common_vendor.index.$uapi.get(
          `/project/donatebaseinforeport/getInfo/${id2}`
          `/project/donatebaseinforeport/getInfo/${id}`
        );
        if (res.code) {
          form.value = res.data;
          if (res.data.infectious) {
          if (res.data.infectious)
            selectedInfectious.value = res.data.infectious.split(",").filter((item) => item.trim() !== "");
          if (form.value.nation) {
            const idx = nationList.value.findIndex(
              (item) => item == form.value.nation
            );
            nationIndex.value = idx >= 0 ? idx : -1;
          }
          currentNation.value = form.value.nation;
          idCardTypeIndex.value = form.value.idcardtype;
          if (form.value.idcardtype) {
            const dictList = getDictList("sys_IDType");
            const idx = dictList.findIndex(
              (item) => item.value == form.value.idcardtype
            );
            idCardTypeIndex.value = idx >= 0 ? idx : -1;
          }
          if (form.value.education) {
            const dictList = getDictList("sys_education");
            const idx = dictList.findIndex(
              (item) => item.value == form.value.education
            );
            educationIndex.value = idx >= 0 ? idx : -1;
          }
          if (form.value.occupation) {
            const dictList = getDictList("sys_occupation");
            const idx = dictList.findIndex(
              (item) => item.value == form.value.occupation
            );
            occupationIndex.value = idx >= 0 ? idx : -1;
          }
          if (form.value.ageunit) {
            const unitList = ageUnitList.value;
            const idx = unitList.findIndex((item) => item === form.value.ageunit);
            ageUnitIndex.value = idx >= 0 ? idx : -1;
          }
          if (res.data.residenceprovincename) {
            residenceAddress.value = {
              sheng: res.data.residenceprovincename,
              shi: res.data.residencecountyname,
              qu: res.data.residencetownname
            };
          }
          if (res.data.registerprovincename) {
            registerAddress.value = {
              sheng: res.data.registerprovincename,
              shi: res.data.registercityname,
              qu: res.data.registertownname
            };
          }
          if (res.data.annexfilesList) {
            attachments.value = res.data.annexfilesList;
            attachments.value.forEach((item) => {
              item.url = item.path;
              item.name = item.fileName;
            });
            attachments.value = res.data.annexfilesList.map((item) => ({
              url: item.path,
              name: item.fileName,
              type: item.type || ""
            }));
          }
          common_vendor.index.__f__("log", "at pagesSub/case/CaseDetails.vue:1299", 3, "res");
          common_vendor.index.showToast({
            title: "数据加载成功",
            icon: "success"
          });
        } else {
          throw new Error(res.msg || "数据加载失败");
        }
      } catch (error) {
        common_vendor.index.__f__("error", "at pagesSub/case/CaseDetails.vue:1309", "加载案例数据失败:", error);
        common_vendor.index.showToast({
          title: "数据加载失败,请重试",
          icon: "none"
        });
        common_vendor.index.showToast({ title: "数据加载失败,请重试", icon: "none" });
      } finally {
        loading.value = false;
      }
    };
    common_vendor.onMounted(() => {
      updateCurrentTime();
      setInterval(updateCurrentTime, 1e3);
    });
    common_vendor.onLoad(async (options) => {
      if (options.id) {
        currentId.value = options.id;
        isEditMode.value = true;
        await new Promise((resolve) => {
          if (!dictLoading.value)
            resolve();
          else {
            const stopWatch = common_vendor.watch(dictLoading, (val) => {
              if (!val) {
                stopWatch();
                resolve();
              }
            });
          }
        });
        await loadCaseData(options.id);
      } else {
        isEditMode.value = false;
        generateCaseNo();
        updateCurrentTime();
      }
      if (!userStore.userInfo)
        await userStore.refreshUserInfo();
      const user = userStore.userInfo;
      if (user) {
        if (!form.value.treatmenthospitalname)
          form.value.treatmenthospitalname = user.orgName;
        if (!form.value.toHospital)
          form.value.toHospital = user.orgName;
        if (!form.value.coordinatorName)
          form.value.coordinatorName = user.coordinatorName;
        if (!form.value.coordinatorNo)
          form.value.coordinatorNo = user.coordinatorNo;
        if (!form.value.infoName)
          form.value.infoName = user.nickName;
        if (!form.value.phone)
          form.value.phone = user.phonenumber;
        if (!form.value.reportername)
          form.value.reportername = user.name;
        if (!form.value.reporterno)
          form.value.reporterno = user.userId;
      }
      updateCurrentTime();
    });
    return (_ctx, _cache) => {
      return common_vendor.e({
        a: common_vendor.t(isEditMode.value ? "修改案例" : "上报案例"),
        b: common_vendor.o(($event) => form.value.toHospital = $event),
        b: common_vendor.o(($event) => form.value.caseNo = $event),
        c: common_vendor.p({
          placeholder: "系统自动生成",
          disabled: true,
          disabledColor: disabledColor.value,
          modelValue: form.value.caseNo
        }),
        d: common_vendor.o(($event) => form.value.toHospital = $event),
        e: common_vendor.p({
          placeholder: "请输入上报医院",
          maxlength: "100",
          modelValue: form.value.toHospital
        }),
        d: common_vendor.o(($event) => form.value.deptName = $event),
        e: common_vendor.p({
        f: common_vendor.o(($event) => form.value.deptName = $event),
        g: common_vendor.p({
          placeholder: "请输入上报科室",
          maxlength: "50",
          modelValue: form.value.deptName
        }),
        f: common_vendor.o(($event) => form.value.name = $event),
        g: common_vendor.p({
        h: common_vendor.o(($event) => form.value.name = $event),
        i: common_vendor.p({
          type: "text",
          placeholder: "请输入姓名",
          maxlength: "20",
          modelValue: form.value.name
        }),
        h: common_vendor.t(currentNation.value),
        i: nationLabels.value,
        j: nationIndex.value,
        k: common_vendor.o(onNationChange),
        l: common_vendor.o(($event) => form.value.nationality = $event),
        m: common_vendor.p({
        j: common_vendor.t(currentNationText.value || "请选择民族"),
        k: nationList.value,
        l: nationIndex.value,
        m: common_vendor.o(onNationChange),
        n: common_vendor.o(($event) => form.value.nationality = $event),
        o: common_vendor.p({
          type: "text",
          placeholder: "请输入国籍",
          modelValue: form.value.nationality
        }),
        n: common_vendor.t(currentIdCardType.value),
        o: idCardTypeLabels.value,
        p: idCardTypeIndex.value,
        q: common_vendor.o(onIdCardTypeChange),
        r: common_vendor.o(onIdCardChange),
        s: common_vendor.o(($event) => form.value.idcardno = $event),
        t: common_vendor.p({
        p: common_vendor.t(currentIdCardTypeText.value || "请选择证件类型"),
        q: idCardTypeList.value,
        r: idCardTypeIndex.value,
        s: common_vendor.o(onIdCardTypeChange),
        t: common_vendor.o(onIdCardChange),
        v: common_vendor.o(($event) => form.value.idcardno = $event),
        w: common_vendor.p({
          type: "idcard",
          placeholder: "请输入证件号码",
          maxlength: "18",
          modelValue: form.value.idcardno
        }),
        v: idCardError.value
        x: idCardError.value
      }, idCardError.value ? {
        w: common_vendor.t(idCardError.value)
        y: common_vendor.t(idCardError.value)
      } : {}, {
        x: common_vendor.f(genderOptions.value, (gender, k0, i0) => {
        z: common_vendor.f(genderOptions.value, (gender, k0, i0) => {
          return {
            a: common_vendor.t(gender.label),
            b: gender.value,
            c: form.value.sex === gender.value ? 1 : "",
            c: form.value.sex == gender.value ? 1 : "",
            d: common_vendor.o(($event) => form.value.sex = gender.value, gender.value)
          };
        }),
        y: common_vendor.t(form.value.birthday || "选择出生日期"),
        z: form.value.birthday,
        A: common_vendor.o(onBirthdayChange),
        B: common_vendor.o(($event) => ageDisplay.value = $event),
        C: common_vendor.p({
          placeholder: "自动计算",
          disabled: true,
          disabledColor: disabledColor.value,
          border: "none",
          modelValue: ageDisplay.value
        }),
        D: common_vendor.o(($event) => form.value.inpatientno = $event),
        A: common_vendor.t(form.value.birthday || "选择出生日期"),
        B: form.value.birthday,
        C: common_vendor.o(onBirthdayChange),
        D: common_vendor.o(($event) => form.value.age = $event),
        E: common_vendor.p({
          placeholder: "请输入住院号",
          placeholder: "输入或自动计算",
          type: "number",
          modelValue: form.value.age
        }),
        F: common_vendor.t(currentAgeUnitText.value || "单位"),
        G: ageUnitList.value,
        H: ageUnitIndex.value,
        I: common_vendor.o(onAgeUnitChange),
        J: common_vendor.o(($event) => form.value.phone = $event),
        K: common_vendor.p({
          placeholder: "请输入联系电话",
          type: "number",
          modelValue: form.value.phone
        }),
        L: common_vendor.t(currentEducationText.value || "请选择学历"),
        M: educationList.value,
        N: educationIndex.value,
        O: common_vendor.o(onEducationChange),
        P: common_vendor.t(currentOccupationText.value || "请选择职业"),
        Q: occupationList.value,
        R: occupationIndex.value,
        S: common_vendor.o(onOccupationChange),
        T: common_vendor.o(($event) => form.value.nativeplace = $event),
        U: common_vendor.p({
          placeholder: "请输入籍贯",
          modelValue: form.value.nativeplace
        }),
        V: common_vendor.o(onResidenceChange),
        W: common_vendor.o(($event) => residenceAddress.value = $event),
        X: common_vendor.p({
          modelValue: residenceAddress.value
        }),
        Y: common_vendor.o(($event) => form.value.residenceaddress = $event),
        Z: common_vendor.p({
          placeholder: "请输入详细地址",
          border: "none",
          modelValue: form.value.residenceaddress
        }),
        aa: common_vendor.o(onRegisterChange),
        ab: common_vendor.o(($event) => registerAddress.value = $event),
        ac: common_vendor.p({
          modelValue: registerAddress.value
        }),
        ad: common_vendor.o(($event) => form.value.registeraddress = $event),
        ae: common_vendor.p({
          placeholder: "请输入详细地址",
          border: "none",
          modelValue: form.value.registeraddress
        }),
        af: common_vendor.o(($event) => form.value.inpatientno = $event),
        ag: common_vendor.p({
          placeholder: "请输入住院号",
          modelValue: form.value.inpatientno
        }),
        F: common_vendor.o(handleGcsBlur),
        G: common_vendor.o(($event) => form.value.gcsScore = $event),
        H: common_vendor.p({
        ah: common_vendor.o(handleGcsBlur),
        ai: common_vendor.o(($event) => form.value.gcsScore = $event),
        aj: common_vendor.p({
          type: "number",
          maxlength: "1",
          placeholder: "≤7",
          border: "none",
          modelValue: form.value.gcsScore
        }),
        I: common_vendor.o(($event) => form.value.diagnosisname = $event),
        J: common_vendor.p({
        ak: common_vendor.o(($event) => form.value.diagnosisname = $event),
        al: common_vendor.p({
          placeholder: "请输入疾病诊断名称",
          count: true,
          maxlength: "200",
          customStyle: textareaStyle(!form.value.diagnosisname),
          modelValue: form.value.diagnosisname
        }),
        K: common_vendor.f(bloodTypeOptions.value, (bloodType, k0, i0) => {
        am: common_vendor.f(bloodTypeOptions, (bloodType, k0, i0) => {
          return {
            a: form.value.bloodType === bloodType.value ? 1 : "",
            a: form.value.bloodType == bloodType.value ? 1 : "",
            b: common_vendor.t(bloodType.label),
            c: bloodType.value,
            d: common_vendor.o(($event) => form.value.bloodType = bloodType.value, bloodType.value)
          };
        }),
        L: common_vendor.f(rhOptions.value, (rh, k0, i0) => {
        an: common_vendor.f(rhOptions, (rh, k0, i0) => {
          return {
            a: form.value.rhYin === rh.value ? 1 : "",
            a: form.value.rhYin == rh.value ? 1 : "",
            b: common_vendor.t(rh.label),
            c: rh.value,
            d: common_vendor.o(($event) => form.value.rhYin = rh.value, rh.value)
          };
        }),
        M: common_vendor.f(infectiousDiseaselist.value, (disease, k0, i0) => {
        ao: common_vendor.f(infectiousList.value, (disease, k0, i0) => {
          return common_vendor.e({
            a: isInfectiousSelected(disease.value)
          }, isInfectiousSelected(disease.value) ? {} : {}, {
            b: isInfectiousSelected(disease.value) ? 1 : "",
            c: common_vendor.t(disease.label),
            d: disease.value,
            e: common_vendor.o(($event) => toggleInfectious(disease.value), disease.value)
            e: isInfectiousSelected(disease.value) ? 1 : "",
            f: common_vendor.o(($event) => toggleInfectious(disease.value), disease.value)
          });
        }),
        N: common_vendor.o(($event) => form.value.infectiousOther = $event),
        O: common_vendor.p({
        ap: common_vendor.o(($event) => form.value.infectiousOther = $event),
        aq: common_vendor.p({
          placeholder: "请输入其他传染病",
          border: "none",
          modelValue: form.value.infectiousOther
        }),
        P: common_vendor.o(($event) => form.value.icuDoctor = $event),
        Q: common_vendor.p({
          placeholder: "请输入ICU评估医生",
          border: "none",
          modelValue: form.value.icuDoctor
        }),
        R: common_vendor.o(($event) => form.value.icuDoctorPhone = $event),
        S: common_vendor.p({
          placeholder: "请输入ICU医生电话",
          type: "number",
          border: "none",
          modelValue: form.value.icuDoctorPhone
        }),
        T: common_vendor.o(($event) => form.value.infoName = $event),
        U: common_vendor.p({
        ar: common_vendor.o(($event) => form.value.infoName = $event),
        as: common_vendor.p({
          placeholder: "请输入信息员",
          border: "none",
          modelValue: form.value.infoName
        }),
        V: common_vendor.o(($event) => form.value.phone = $event),
        W: common_vendor.p({
          placeholder: "请输入联系电话",
          type: "number",
          border: "none",
          modelValue: form.value.phone
        at: common_vendor.t(form.value.reporttime || "选择报告时间"),
        av: common_vendor.o(($event) => showReportTimePicker.value = true),
        aw: common_vendor.o(onReportTimeConfirm),
        ax: common_vendor.o(($event) => showReportTimePicker.value = false),
        ay: common_vendor.o(($event) => reportTimeValue.value = $event),
        az: common_vendor.p({
          show: showReportTimePicker.value,
          mode: "datetime",
          title: "选择报告时间",
          modelValue: reportTimeValue.value
        }),
        X: common_vendor.o(($event) => currentTime.value = $event),
        Y: common_vendor.p({
          disabled: true,
          disabledColor: disabledColor.value,
          border: "none",
          modelValue: currentTime.value
        }),
        Z: common_vendor.o(handleCancel),
        aa: common_vendor.o(resetForm),
        ab: common_vendor.t(loading.value ? "提交中..." : isEditMode.value ? "保存修改" : "提交上报"),
        ac: common_vendor.o(handleSubmit),
        ad: common_vendor.p({
          disabled: !isFormValid.value || loading.value
        }),
        ae: common_vendor.sr("attachment", "2006fde2-18"),
        af: common_vendor.o(handleFilesUpdate),
        ag: common_vendor.o(handleBaseUpload),
        ah: common_vendor.o(handlePreview),
        ai: common_vendor.p({
        aA: common_vendor.sr("attachment", "2006fde2-19"),
        aB: common_vendor.o(handleFilesUpdate),
        aC: common_vendor.o(handleBaseUpload),
        aD: common_vendor.o(handlePreview),
        aE: common_vendor.p({
          files: attachments.value,
          readonly: isReadonly.value,
          maxCount: 5
        }),
        aj: common_vendor.sr("uPicker", "2006fde2-19"),
        ak: common_vendor.o(onConfirm),
        al: common_vendor.o(($event) => selectShow.value = false),
        am: common_vendor.p({
          show: selectShow.value,
          columns: pickerColumns.value,
          keyName: "label",
          title: "请选择科室"
        aF: common_vendor.o(handleCancel),
        aG: common_vendor.o(resetForm),
        aH: common_vendor.t(loading.value ? "提交中..." : isEditMode.value ? "保存修改" : "提交上报"),
        aI: common_vendor.o(handleSubmit),
        aJ: common_vendor.p({
          disabled: !isFormValid.value || loading.value
        }),
        an: common_vendor.o(onHospitalConfirm),
        ao: common_vendor.o(($event) => showHospitalPicker.value = false),
        ap: common_vendor.p({
          show: showHospitalPicker.value,
          columns: [hospitalOptions.value],
          keyName: "label",
          title: "请选择医疗机构"
        }),
        aq: common_vendor.o(onNationConfirm),
        ar: common_vendor.o(($event) => showNationPicker.value = false),
        as: common_vendor.p({
          show: showNationPicker.value,
          columns: [nationOptions.value],
          keyName: "label",
          title: "请选择民族"
        }),
        at: common_vendor.o(onDateConfirm),
        av: common_vendor.o(($event) => showDatePicker.value = false),
        aw: common_vendor.o(($event) => birthdayValue.value = $event),
        ax: common_vendor.p({
          show: showDatePicker.value,
          mode: "date",
          title: "选择出生日期",
          modelValue: birthdayValue.value
        }),
        ay: common_vendor.o(onReporterConfirm),
        az: common_vendor.o(($event) => showReporterPicker.value = false),
        aA: common_vendor.p({
          show: showReporterPicker.value,
          columns: [reporterOptions.value],
          keyName: "label",
          title: "请选择报告人"
        }),
        aB: common_vendor.p({
          show: loading.value,
          text: "提交中..."
        }),
        aC: common_vendor.gei(_ctx, "")
        aK: common_vendor.gei(_ctx, "")
      });
    };
  }