WXL
14 小时以前 d27451a2c24fcc785d02619d5840378df7cfc939
src/views/business/transfer/index.vue
@@ -148,12 +148,7 @@
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="序号" type="index" width="60" align="center" />
      <el-table-column
        label="转运单号"
        align="center"
        prop="reportId"
        width="140"
      />
      <el-table-column
        label="案例编号"
        align="center"
@@ -310,7 +305,10 @@
              />
            </el-form-item>
            <el-form-item>
              <el-button type="primary" icon="el-icon-search" @click="searchCaseList"
              <el-button
                type="primary"
                icon="el-icon-search"
                @click="searchCaseList"
                >搜索</el-button
              >
              <el-button icon="el-icon-refresh" @click="resetCaseSearch"
@@ -328,8 +326,18 @@
            highlight-current-row
            style="width: 100%"
          >
            <el-table-column label="案例编号" prop="caseNo" width="150" align="center" />
            <el-table-column label="患者姓名" prop="name" width="120" align="center" />
            <el-table-column
              label="案例编号"
              prop="caseNo"
              width="150"
              align="center"
            />
            <el-table-column
              label="患者姓名"
              prop="name"
              width="120"
              align="center"
            />
            <el-table-column label="性别" width="80" align="center">
              <template slot-scope="scope">
                <dict-tag
@@ -338,7 +346,12 @@
                />
              </template>
            </el-table-column>
            <el-table-column label="年龄" prop="age" width="80" align="center" />
            <el-table-column
              label="年龄"
              prop="age"
              width="80"
              align="center"
            />
            <el-table-column label="血型" width="80" align="center">
              <template slot-scope="scope">
                <dict-tag
@@ -347,15 +360,24 @@
                />
              </template>
            </el-table-column>
            <el-table-column label="疾病诊断" prop="diagnosisname" min-width="200" show-overflow-tooltip />
            <el-table-column label="治疗医院" prop="treatmenthospitalname" width="150" />
            <el-table-column
              label="疾病诊断"
              prop="diagnosisname"
              min-width="200"
              show-overflow-tooltip
            />
            <el-table-column
              label="治疗医院"
              prop="treatmenthospitalname"
              width="150"
            />
            <el-table-column label="是否已转运" width="100" align="center">
              <template slot-scope="scope">
                <el-tag
                  :type="hasTransport(scope.row) ? 'danger' : 'success'"
                  size="small"
                >
                  {{ hasTransport(scope.row) ? '已转运' : '可转运' }}
                  {{ hasTransport(scope.row) ? "已转运" : "可转运" }}
                </el-tag>
              </template>
            </el-table-column>
@@ -409,7 +431,7 @@
      <div class="action-confirm">
        <p>
          确定要{{ actionText }}转运单 "{{
            currentTransport.reportId || currentTransport.id
             currentTransport.id
          }}" 吗?
        </p>
      </div>
@@ -426,7 +448,7 @@
  transportList,
  transportAdd,
  transportEdit,
  transportDelete,
  transportDel,
  transportInfo,
  donateList
} from "@/api/businessApi/index";
@@ -439,7 +461,6 @@
  dicts: ["sys_user_sex", "sys_BloodType"],
  data() {
    return {
      // 遮罩层
      loading: false,
      // 选中数组
@@ -501,13 +522,13 @@
        patName: undefined,
        // 只查询已同意且需要转运的案例
        // reportStatus: "3", // 已同意
        isTransport: "2"   // 需要转运
        isTransport: "2" // 需要转运
      }
    };
  },
  created() {
    this.getList();
     this.checkAutoCreate();
    this.checkAutoCreate();
  },
  methods: {
    /** 查询转运单列表 */
@@ -544,20 +565,20 @@
        this.loading = false;
      }
    },
  checkAutoCreate() {
    const query = this.$route.query;
    if (query.autoCreate === 'true') {
      // 自动打开案例选择弹框
      this.selectCaseOpen = true;
      this.resetCaseSearch();
    checkAutoCreate() {
      const query = this.$route.query;
      if (query.autoCreate === "true") {
        // 自动打开案例选择弹框
        this.selectCaseOpen = true;
        this.resetCaseSearch();
      // 如果有特定的案例编号,可以预先搜索
      if (query.caseNo) {
        this.caseQueryParams.caseNo = query.caseNo;
        this.searchCaseList();
        // 如果有特定的案例编号,可以预先搜索
        if (query.caseNo) {
          this.caseQueryParams.caseNo = query.caseNo;
          this.searchCaseList();
        }
      }
    }
  },
    },
    /** 搜索可用案例 */
    async searchCaseList() {
      this.caseLoading = true;
@@ -593,9 +614,11 @@
    /** 判断案例是否已有转运单 */
    hasTransport(caseData) {
      // 检查案例是否有转运信息
      if (caseData.serviceTransport &&
          Array.isArray(caseData.serviceTransport) &&
          caseData.serviceTransport.length > 0) {
      if (
        caseData.serviceTransport &&
        Array.isArray(caseData.serviceTransport) &&
        caseData.serviceTransport.length > 0
      ) {
        return true;
      }
      return false;
@@ -613,27 +636,31 @@
      // 打开转运单编辑页面,并传入选中的案例
      this.currentTransport = this.convertCaseToTransport(caseData);
      console.log(this.currentTransport,'currentTransport');
      this.isEditing = false;
      this.editOpen = true;
    },
    /** 将案例信息转换为转运单格式 */
    convertCaseToTransport(caseData) {
      console.log(caseData,'2');
      return {
        caseNo: caseData.caseNo,
        patName: caseData.name,
        sex: caseData.sex,
        age: caseData.age,
        diagnosisname: caseData.diagnosisname,
        reportId: caseData.id,
        treatmentHospitalName: caseData.treatmenthospitalname,
        treatmentDeptName: caseData.treatmentdeptname,
        // 其他字段可以根据需要从案例中获取
        transportStartPlace: caseData.treatmenthospitalname || '',
        contactPerson: caseData.coordinatorName || '',
        transportStartPlace: caseData.treatmenthospitalname || "",
        contactPerson: caseData.coordinatorName || "",
        transitStatus: 1, // 默认待转运
        // 清空其他字段
        id: undefined,
        reportId: undefined,
        transportStartTime: undefined,
        doctor: undefined,
        doctorPhone: undefined,
@@ -685,7 +712,7 @@
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.reportId || item.id);
      this.ids = selection.map(item =>  item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
@@ -713,7 +740,7 @@
    /** 详情按钮操作 */
    handleDetail(row) {
      this.currentTransport = row;
      this.detailTitle = `转运单详情 - ${row.reportId || row.id}`;
      this.detailTitle = `转运单详情 - ${ row.id}`;
      this.detailOpen = true;
    },
@@ -766,7 +793,7 @@
    async confirmAction() {
      try {
        let requestData = {
          id: this.currentTransport.id || this.currentTransport.reportId
          id: this.currentTransport.id
        };
        if (this.actionText === "开始") {
@@ -799,7 +826,7 @@
          '是否确认删除转运单编号为"' + ids + '"的数据项?'
        );
        const response = await transportDelete(ids);
        const response = await transportDel(ids);
        if (response.code === 200) {
          this.$modal.msgSuccess("删除成功");
@@ -903,7 +930,7 @@
.donor-info {
  text-align: center;
  display: flex;
  justify-content: center
  justify-content: center;
}
.donor-name {