WXL (wul)
5 天以前 5319d5b95497b5b546947ac340c14c71e5b54ca6
src/views/patient/physical/index.vue
@@ -78,7 +78,27 @@
            placeholder="请选择任务名称"
          ></el-input>
        </el-form-item>
        <el-form-item label="得分区间">
          <el-input
            v-model="topqueryParams.scoreStart"
            placeholder="开始分"
            style="width: 100px"
          ></el-input>
          <span style="margin: 0 10px">-</span>
          <el-input
            v-model="topqueryParams.scoreEnd"
            placeholder="结束分"
            style="width: 100px"
          ></el-input>
        </el-form-item>
        <el-form-item label="答案查询">
          <el-input
            v-model="topqueryParams.detailResult"
            placeholder="请输入答案关键词"
            style="width: 200px"
          ></el-input>
        </el-form-item>
        <el-form-item label="出院时间">
          <el-date-picker
            v-model="dateRange"
@@ -133,6 +153,19 @@
          >
        </el-form-item>
      </el-form>
      <el-row :gutter="10" style="margin-bottom: 15px;">
  <!-- <el-col :span="24">
    <span style="margin-right: 10px; font-size: 14px; color: #606266;">快速选择:</span>
    <el-button-group>
      <el-button size="mini" @click="quickScoreRange('excellent')">优秀(90-100)</el-button>
      <el-button size="mini" @click="quickScoreRange('good')">良好(80-89)</el-button>
      <el-button size="mini" @click="quickScoreRange('medium')">中等(70-79)</el-button>
      <el-button size="mini" @click="quickScoreRange('pass')">及格(60-69)</el-button>
      <el-button size="mini" @click="quickScoreRange('fail')">不及格(0-59)</el-button>
      <el-button size="mini" @click="resetScoreQuery">重置</el-button>
    </el-button-group>
  </el-col> -->
</el-row>
      <el-divider></el-divider>
      <el-row :gutter="10" class="mb8">
        <el-col :span="1.5">
@@ -269,6 +302,17 @@
              :options="dict.type.sys_suggest"
              :value="scope.row.suggest"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="得分"
          align="center"
          key="score"
          prop="score"
          width="100"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.score || "-" }}</span>
          </template>
        </el-table-column>
        <el-table-column
@@ -765,6 +809,9 @@
        pageSize: 10,
        serviceType: 1,
        searchscope: 3,
        scoreStart: undefined, // 得分开始
      scoreEnd: undefined,   // 得分结束
      detailResult: undefined, // 结果查询
        scopetype: [],
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
@@ -850,6 +897,8 @@
  methods: {
    /** 查询门诊随访服务列表 */
    getList(refresh) {
      // 处理得分区间查询逻辑
    this.handleScoreQuery();
      // 默认全部
      if (this.topqueryParams.searchscope == 3) {
        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
@@ -869,6 +918,7 @@
      getTaskservelist(this.topqueryParams).then((response) => {
        this.userList = response.rows[0].serviceSubtaskList;
        this.total = response.total;
        if (refresh) {
          this.cardlist[0].value =
            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
@@ -906,6 +956,47 @@
        this.total = response.total;
      });
    },
    /** 得分区间快速选择 */
  quickScoreRange(range) {
    const ranges = {
      'excellent': { start: 90, end: 100 },
      'good': { start: 80, end: 89 },
      'medium': { start: 70, end: 79 },
      'pass': { start: 60, end: 69 },
      'fail': { start: 0, end: 59 }
    };
    if (ranges[range]) {
      this.topqueryParams.scoreStart = ranges[range].start;
      this.topqueryParams.scoreEnd = ranges[range].end;
      this.handleQuery();
    }
  },
    /** 处理得分区间查询 */
  handleScoreQuery() {
    // 验证得分区间输入
    if (this.topqueryParams.scoreStart && isNaN(this.topqueryParams.scoreStart)) {
      this.$message.warning('开始分必须为数字');
      this.topqueryParams.scoreStart = undefined;
      return;
    }
    if (this.topqueryParams.scoreEnd && isNaN(this.topqueryParams.scoreEnd)) {
      this.$message.warning('结束分必须为数字');
      this.topqueryParams.scoreEnd = undefined;
      return;
    }
    // 确保开始分不大于结束分
    if (this.topqueryParams.scoreStart && this.topqueryParams.scoreEnd) {
      if (parseFloat(this.topqueryParams.scoreStart) > parseFloat(this.topqueryParams.scoreEnd)) {
        this.$message.warning('开始分不能大于结束分');
        // 交换值
        [this.topqueryParams.scoreStart, this.topqueryParams.scoreEnd] =
        [this.topqueryParams.scoreEnd, this.topqueryParams.scoreStart];
      }
    }
  },
    // 查看门诊随访详情
    Referencequestion(row) {
      this.previewVisible = true;
@@ -1013,6 +1104,11 @@
      this.single = selection.length != 1;
      this.multiple = !selection.length;
    },
    resetScoreQuery() {
    this.topqueryParams.scoreStart = undefined;
    this.topqueryParams.scoreEnd = undefined;
    this.topqueryParams.detailResult = undefined;
  },
    //删除选项
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
@@ -1222,7 +1318,30 @@
    font-size: 23px;
  }
}
/* 得分区间输入框样式 */
.score-range-input {
  display: flex;
  align-items: center;
  .score-separator {
    margin: 0 10px;
    color: #909399;
  }
}
/* 结果标签样式 */
.result-tag {
  margin: 2px;
}
/* 快速选择按钮样式 */
.quick-score-buttons {
  margin-bottom: 15px;
  .el-button-group {
    margin-left: 10px;
  }
}
.uploading {
  margin-top: 20px;
  margin: 20px;