WXL
2026-05-17 3453ba7e5243022ad4388da1515dc75ad8d81f94
src/views/business/assess/index.vue
@@ -8,7 +8,7 @@
        :inline="true"
        label-width="100px"
      >
        <el-form-item label="捐献者姓名" prop="name">
        <el-form-item label="姓名" prop="name">
          <el-input
            v-model="queryParams.name"
            placeholder="请输入捐献者姓名"
@@ -26,7 +26,7 @@
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="业务人员" prop="coordinatorName">
        <el-form-item label="协调员" prop="coordinatorName">
          <el-input
            v-model="queryParams.coordinatorName"
            placeholder="请输入业务人员"
@@ -35,10 +35,10 @@
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="评估状态" prop="assessState">
        <el-form-item label="评估结果" prop="assessState">
          <el-select
            v-model="queryParams.assessState"
            placeholder="请选择评估状态"
            placeholder="请选择评估结果"
            clearable
            style="width: 200px"
          >
@@ -48,7 +48,7 @@
            <el-option label="已关闭" value="4" />
          </el-select>
        </el-form-item>
        <el-form-item label="申请时间" prop="applyTimeRange">
        <el-form-item label="首次评估时间" prop="applyTimeRange">
          <el-date-picker
            v-model="queryParams.applyTimeRange"
            type="daterange"
@@ -59,7 +59,7 @@
            style="width: 240px"
          />
        </el-form-item>
        <el-form-item label="评估时间" prop="assessTimeRange">
        <el-form-item label="最新评估时间" prop="assessTimeRange">
          <el-date-picker
            v-model="queryParams.assessTimeRange"
            type="daterange"
@@ -121,21 +121,15 @@
        v-loading="loading"
        :data="assessmentList"
        @selection-change="handleSelectionChange"
        @row-click="handleRowClick"
      >
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column
          label="住院号"
          align="center"
          prop="caseNo"
          prop="inpatientno"
          width="120"
        />
        <el-table-column
          label="潜在捐献者姓名"
          align="center"
          prop="name"
          width="120"
        />
        <el-table-column label="姓名" align="center" prop="name" width="120" />
        <el-table-column label="性别" align="center" prop="sex" width="80">
          <template slot-scope="scope">
            <dict-tag
@@ -152,6 +146,7 @@
          min-width="180"
          show-overflow-tooltip
        />
        <!--
        <el-table-column
          label="所在医疗机构"
          align="center"
@@ -169,6 +164,21 @@
            <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
          </template>
        </el-table-column>
        -->
        <el-table-column
          label="评估状态"
          align="center"
          prop="assessState"
          width="100"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.state_Evaluation"
              :value="scope.row.assessState"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="评估时间"
          align="center"
@@ -184,19 +194,7 @@
          </template>
        </el-table-column>
        <el-table-column
          label="评估状态"
          align="center"
          prop="assessState"
          width="100"
        >
          <template slot-scope="scope">
            <el-tag :type="statusFilter(scope.row.assessState)">
              {{ statusTextFilter(scope.row.assessState) }}
            </el-tag>
          </template>
        </el-table-column>
        <el-table-column
          label="业务人员"
          label="协调员"
          align="center"
          prop="coordinatorName"
          width="100"
@@ -218,8 +216,7 @@
            >
            <el-button
              v-if="
                scope.row.assessState != '3' ||
                  scope.row.assessState != '4'
                scope.row.assessState != '3' || scope.row.assessState != '4'
              "
              size="mini"
              type="text"
@@ -258,7 +255,7 @@
export default {
  name: "AssessmentList",
  components: { Pagination },
  dicts: ["sys_user_sex"],
  dicts: ["sys_user_sex", "state_Evaluation"],
  data() {
    return {
      // 遮罩层
@@ -357,12 +354,18 @@
      }
      // 处理时间范围查询
      if (this.queryParams.applyTimeRange && this.queryParams.applyTimeRange.length === 2) {
      if (
        this.queryParams.applyTimeRange &&
        this.queryParams.applyTimeRange.length === 2
      ) {
        params.startApplyTime = this.queryParams.applyTimeRange[0];
        params.endApplyTime = this.queryParams.applyTimeRange[1];
      }
      if (this.queryParams.assessTimeRange && this.queryParams.assessTimeRange.length === 2) {
      if (
        this.queryParams.assessTimeRange &&
        this.queryParams.assessTimeRange.length === 2
      ) {
        params.startAssessTime = this.queryParams.assessTimeRange[0];
        params.endAssessTime = this.queryParams.assessTimeRange[1];
      }
@@ -376,19 +379,19 @@
        if (Array.isArray(response.data)) {
          // 如果返回的是数组
          this.assessmentList = response.data;
          this.total = response.data.length;
          this.total = response.total;
        } else if (response.data.rows) {
          // 如果返回的是分页数据结构
          this.assessmentList = response.data.rows;
          this.total = response.data.total;
          this.total = response.total;
        } else if (Array.isArray(response.data.list)) {
          // 如果返回的是list字段
          this.assessmentList = response.data.list;
          this.total = response.data.total || response.data.list.length;
          this.total = response.total || response.data.list.length;
        } else {
          // 其他数据结构,尝试直接使用data
          this.assessmentList = response.data;
          this.total = response.total || response.data.length;
          this.total = response.total || response.total;
        }
      } else {
        // 如果data为空,使用根级别的rows或list
@@ -461,7 +464,7 @@
        // 刷新列表
        this.getList();
      } catch (error) {
        if (error !== 'cancel') {
        if (error !== "cancel") {
          console.error("确认失败:", error);
        }
      }
@@ -494,7 +497,6 @@
        // 这里需要调用删除接口,暂时模拟成功
        this.$message.success("删除成功");
        this.getList();
      } catch (error) {
        if (error !== "cancel") {
          console.error("删除失败:", error);
@@ -527,7 +529,6 @@
        } else {
          this.$message.error("导出失败:" + (response.msg || "未知错误"));
        }
      } catch (error) {
        if (error !== "cancel") {
          console.error("导出失败:", error);
@@ -546,11 +547,11 @@
      // 模拟文件下载
      const blob = new Blob([JSON.stringify(data, null, 2)], {
        type: 'application/vnd.ms-excel'
        type: "application/vnd.ms-excel"
      });
      const link = document.createElement('a');
      const link = document.createElement("a");
      link.href = URL.createObjectURL(blob);
      link.download = '医学评估数据.xlsx';
      link.download = "医学评估数据.xlsx";
      link.click();
    },
    // 时间格式化