WXL
2026-05-13 e5af0daca71f21317b061f174869e6ded2829071
src/views/business/appear/index.vue
@@ -8,15 +8,7 @@
        :inline="true"
        class="demo-form-inline"
      >
        <el-form-item label="案例编号" prop="caseNo">
          <el-input
            v-model="queryParams.caseNo"
            placeholder="请输入案例编号"
            clearable
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="患者姓名" prop="name">
        <el-form-item label="姓名" prop="name">
          <el-input
            v-model="queryParams.name"
            placeholder="请输入患者姓名"
@@ -24,7 +16,15 @@
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="案例状态" prop="reportStatus">
        <el-form-item label="上报医院" prop="caseNo">
          <el-input
            v-model="queryParams.caseNo"
            placeholder="请输入上报案例编号"
            clearable
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="上报状态" prop="reportStatus">
          <el-select
            v-model="queryParams.reportStatus"
            placeholder="请选择状态"
@@ -74,21 +74,23 @@
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column
        label="案例编号"
        label="编号"
        align="center"
        prop="caseNo"
        width="150"
        fixed
      />
      <el-table-column
        label="上报时间"
        label="姓名"
        align="center"
        prop="reporttime"
        width="160"
        prop="name"
        width="100"
        fixed
      />
      <el-table-column
        label="状态"
        label="上报状态"
        align="center"
        prop="reportStatus"
        width="100"
@@ -99,19 +101,13 @@
          </el-tag>
        </template>
      </el-table-column>
      <el-table-column label="转运状态" align="center" width="100">
      <el-table-column label="转运" align="center" width="100">
        <template #default="scope">
          <el-tag :type="getTransportStatusTag(scope.row)">
            {{ getTransportStatusText(scope.row) }}
          </el-tag>
        </template>
      </el-table-column>
      <el-table-column
        label="患者姓名"
        align="center"
        prop="name"
        width="100"
      />
      <el-table-column label="性别" align="center" prop="sex" width="80">
        <template #default="scope">
          <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
@@ -127,13 +123,6 @@
        </template>
      </el-table-column>
      <el-table-column
        label="GCS评分"
        align="center"
        prop="gcsScore"
        width="80"
        show-overflow-tooltip
      />
      <el-table-column
        label="疾病诊断"
        align="center"
        prop="diagnosisname"
@@ -141,13 +130,25 @@
        show-overflow-tooltip
      />
      <el-table-column
        label="治疗医院"
        label="GCS评分"
        align="center"
        prop="gcsScore"
        width="80"
        show-overflow-tooltip
      />
      <el-table-column
        label="上报医院"
        align="center"
        prop="treatmenthospitalname"
        width="150"
      />
      <el-table-column label="操作" align="center" fixed="right" width="350">
      <el-table-column
        label="上报时间"
        align="center"
        prop="reporttime"
        width="160"
      />
      <el-table-column label="操作" align="center" fixed="right" width="300">
        <template #default="scope">
          <el-button
            size="mini"
@@ -395,9 +396,11 @@
                  placeholder="请选择证件类型"
                  style="width: 100%"
                >
                  <el-option label="身份证" value="1" />
                  <el-option label="护照" value="2" />
                  <el-option label="军官证" value="3" />
                  <el-option
                    v-for="item in dict.type.sys_IDType"
                    :label="item.label"
                    :value="item.value"
                  />
                </el-select>
              </el-form-item>
            </el-col>
@@ -627,10 +630,18 @@
          <el-row :gutter="20">
            <el-col :span="12">
              <el-form-item label="传染病情况" prop="infectious">
                <el-input
                <el-checkbox-group v-model="editForm.infectious">
                  <el-checkbox
                    v-for="item in dict.type.sys_Infectious"
                    :label="item.value"
                    :value="item.value"
                    >{{ item.label }}</el-checkbox
                  >
                </el-checkbox-group>
                <!-- <el-input
                  v-model="editForm.infectious"
                  placeholder="请输入传染病情况"
                />
                /> -->
              </el-form-item>
            </el-col>
            <el-col :span="12">
@@ -739,24 +750,16 @@
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="报告者编号" prop="infoNo">
              <el-form-item label="报告者电话" prop="reporterphone">
                <el-input
                  v-model="editForm.infoNo"
                  placeholder="请输入报告者编号"
                  v-model="editForm.phone"
                  placeholder="请输入报告者联系电话"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row :gutter="20">
            <el-col :span="12">
              <el-form-item label="报告者电话" prop="reporterphone">
                <el-input
                  v-model="editForm.reporterphone"
                  placeholder="请输入报告者联系电话"
                />
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="协调员姓名" prop="coordinatorName">
                <el-input
@@ -765,23 +768,12 @@
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row :gutter="20">
            <el-col :span="12">
              <el-form-item label="协调员编号" prop="coordinatorNo">
                <el-input
                  v-model="editForm.coordinatorNo"
                  placeholder="请输入协调员编号"
                />
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="是否终止案例" prop="terminationCase">
                <el-radio-group v-model="editForm.terminationCase">
                  <el-radio label="0">进行中</el-radio>
                  <el-radio label="1">已终止</el-radio>
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
@@ -961,7 +953,7 @@
    UploadAttachment,
    FilePreviewDialog
  },
  dicts: ["sys_user_sex", "sys_BloodType"],
  dicts: ["sys_user_sex", "sys_BloodType", "sys_Infectious", "sys_IDType"],
  data() {
    return {
      // 遮罩层
@@ -1019,9 +1011,7 @@
        caseNo: [
          { required: true, message: "请输入案例编号", trigger: "blur" }
        ],
        name: [
          { required: true, message: "请输入患者姓名", trigger: "blur" }
        ],
        name: [{ required: true, message: "请输入患者姓名", trigger: "blur" }],
        sex: [{ required: true, message: "请选择性别", trigger: "change" }],
        age: [{ required: true, message: "请输入年龄", trigger: "blur" }],
        diagnosisname: [
@@ -1124,7 +1114,7 @@
        // 根据转运单状态显示不同颜色
        const transport = row.serviceTransport[0];
        if (transport.transitStatus) {
         return "primary"; // 有转运信息但无状态
          return "primary"; // 有转运信息但无状态
        }
        return "primary"; // 有转运信息但无状态
      }
@@ -1364,6 +1354,12 @@
          this.currentCase = data;
          this.editForm = { ...data };
          this.editForm.idcardtype = this.editForm.idcardtype.toString();
          console.log(this.editForm.idcardtype);
          this.editForm.infectious = this.editForm.infectious
            .split(",")
            .filter(item => item.trim() !== "");
          this.editOpen = true;
          this.$nextTick(() => {
            this.$refs.editForm && this.$refs.editForm.clearValidate();
@@ -1683,6 +1679,7 @@
        this.saveLoading = true;
        const requestData = { ...this.editForm };
        requestData.infectious = requestData.infectious.join(",");
        let response;
        if (this.isEditing) {