lkk
2024-12-30 2edd8e62d1876b8344952c0cac4507ecf4ea4c9a
tjtype
2个文件已修改
1个文件已添加
420 ■■■■■ 已修改文件
src/views/doctor/checkAll/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/pinyin/index.vue 407 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/tijian/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue
@@ -397,6 +397,12 @@
                    <div v-else>{{ scope.row.proAdvice }}</div>
                  </template>
                </el-table-column>
                <el-table-column
                  align="center"
                  prop="conclusion"
                  label="异常"
                  width="180"
                ></el-table-column>
                <el-table-column align="center" prop="" label=" 参考范围">
                  <template slot-scope="scope">
                    <div v-if="scope.row.project != null">
@@ -1801,6 +1807,7 @@
      if (this.tjproject == "0") {
        getupdateCheckType(this.tjNumber).then((response) => {
          this.changedate = response.data;
          this.changedate.forEach((item) => {
            this.textarea1 = item.checkAdvice;
          });
src/views/hosp/pinyin/index.vue
New file
@@ -0,0 +1,407 @@
<template>
    <div class="app-container">
      <el-form
        :model="queryParams"
        ref="queryForm"
        size="small"
        :inline="true"
        label-width="68px"
      >
        <el-form-item label="表名" prop="reportDoctorCode">
          <el-input
            ref="inputName"
            v-model="queryParams.tjNum"
            placeholder="请输入表名"
            clearable
            @keyup.enter.native="handleQuery"
            style="width: 170px"
          />
        </el-form-item>
        <el-form-item label="字段名" prop="name">
          <el-input
            v-model="queryParams.name"
            placeholder="请输入字段名"
            clearable
            @keyup.enter.native="handleQuery"
            style="width: 110px"
          />
        </el-form-item>
        <el-form-item label="拼音名" prop="name">
          <el-input
            v-model="queryParams.name"
            placeholder="请输入拼音名"
            clearable
            @keyup.enter.native="handleQuery"
            style="width: 110px"
          />
        </el-form-item>
       <!--  <el-form-item label="登记时间" prop="createTimeList">
          <el-date-picker
            v-model="createTimeList"
            type="datetimerange"
            align="right"
            :picker-options="pickerOptions"
            style="width: 310px"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            format="yyyy.MM.dd"
            value-format="yyyy.MM.dd "
            @change="handleDateChange"
          >
          </el-date-picker>
        </el-form-item> -->
        <el-form-item>
          <el-button
            type="primary"
            icon="el-icon-search"
            size="mini"
            @click="handleQuery"
            style="margin-right: 15px"
            >查询</el-button
          >
          <el-button
            icon="el-icon-refresh"
            type="primary"
            size="mini"
            @click="resetQuery"
            >重置</el-button
          >
        </el-form-item>
      </el-form>
      <el-table
        id="ta"
        ref="tb"
        style="width: 100%"
        :data="exaLists"
        v-loading="loading"
        border
        @current-change="handleCurrentChange"
        @selection-change="handleSelectionChange"
        :row-class-name="tableRowClassName"
      >
        <!-- <el-table-column
          fixed
          type="selection"
          align="center"
          label="选择"
          width="40"
          :selectable="isSelectable"
        >
        </el-table-column> -->
        <!-- <el-table-column label="姓名" align="center" prop="name" width="80px" />
        <el-table-column label="性别" align="center" prop="gender" width="80px" />
        <el-table-column
          label="年龄"
          align="center"
          prop="patientAge"
          width="80px"
        >
        </el-table-column>
        <el-table-column
          label="送检科室"
          align="center"
          prop="deptName"
          width="100px"
        />
        <el-table-column
          label="检查项目"
          align="center"
          prop="checkParts"
          width="150px"
        />
        <el-table-column
          label="报告时间"
          align="center"
          prop="examinationDate"
          width="150px"
        />
        <el-table-column label="门诊号" align="center" prop="mzh" width="140px" />
        <el-table-column
          label="申请单号"
          align="center"
          prop="brid"
          width="145px"
        />
        <el-table-column
          label="结果状态"
          align="center"
          prop="diagnosis"
          width="150"
          :show-overflow-tooltip="true"
        /> -->
      </el-table>
      <div class="pag">
        <div class="pag1">
          <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page"
                    :page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total">
                </el-pagination> -->
          <!-- <pagination
            v-show="total > 0"
            :total="total"
            :pager-count="5"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          /> -->
        </div>
      </div>
    </div>
  </template>
    <script>
  import { getLeftList, getRightList, asyncPacs } from "@/api/doctor/pacsCheck";
  export default {
    dicts: ["dict_tj_status"],
    data() {
      return {
        dis: false,
        code: null,
        createTimeList: "",
        total: 0,
        loading: false,
        isSyncing: false,
        // 查询参数
        queryParams: {
          // page: 1,
          // pageSize: 20,
          name: null,
          start: null,
          end: null,
          tjNum: null,
        },
        // 绑定单选按钮
        checkStatus: "0",
        exaLists: [],
        selectedFirstTable: null, // 第一个表格选中行
        selectedSecondTable: [], // 第二个表格选中行
        // 表单参数
        form: {},
        clearTimeSet: null,
        tjNumbers: "",
        multipleSelection: "",
        tjnum: "",
        xiangmuList: [],
        checkList: [],
        tg: true,
        bh: true,
        pickerOptions: {
          shortcuts: [
            {
              text: "最近一周",
              onClick(picker) {
                const end = new Date();
                const start = new Date();
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
                picker.$emit("pick", [start, end]);
              },
            },
            {
              text: "最近一个月",
              onClick(picker) {
                const end = new Date();
                const start = new Date();
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
                picker.$emit("pick", [start, end]);
              },
            },
            {
              text: "最近三个月",
              onClick(picker) {
                const end = new Date();
                const start = new Date();
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
                picker.$emit("pick", [start, end]);
              },
            },
          ],
        },
      };
    },
    mounted() {
      this.$nextTick(() => {
        this.$refs.inputName.focus();
      });
    },
    methods: {
      handleDateChange(val){
        if (val && val.length === 2) {
          this.queryParams.start = val[0]; // 设置开始时间
          this.queryParams.end = val[1];   // 设置结束时间
        } else {
          this.queryParams.start = null;
          this.queryParams.end = null;
        }
        console.log('Query Params:', this.queryParams);
      },
      isSelectable(row) {
        return !!row.mzh;
      },
      tableRowClassName({ row }) {
        return !row.mzh ? "row-disabled" : "";
      },
      handleSelectionChange(val) {
        console.log(val);
        if (val.length > 1) {
          let del_row = val.shift();
          this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
        }
        console.log(val, 999);
        if (val.length > 0) {
          const selectedRow = val[0];
          this.selectedFirstTable = selectedRow;
          console.log("当前选中的行数据:", this.selectedFirstTable);
          this.fetchRightTableData(selectedRow);
        } else {
          this.selectedFirstTable = null;
          this.checkList = [];
        }
      },
      // 根据选中的行数据请求右边表格数据
      fetchRightTableData(selectedRow) {
        const code = selectedRow.mzh;
        if (!code) return;
        this.loading = true;
        getRightList(code).then((response) => {
          this.checkList = response.data;
          this.loading = false;
        });
      },
      handleSelectionChangeSecond(selectedRows) {
        this.selectedSecondTable = selectedRows;
        console.log("当前选中的行数据:", this.selectedSecondTable);
      },
      getList() {
        if (this.createTimeList) {
          this.queryParams.start = this.createTimeList[0];
          this.queryParams.end = this.createTimeList[1];
        } else if (this.createTimeList == null) {
          this.queryParams.start = null;
          this.queryParams.end = null;
        }
      },
      /** 搜索按钮操作 */
      handleQuery() {
        this.loading = true;
        getLeftList(this.queryParams)
          .then((res) => {
            console.log(res, 1111);
            if (res.code == 200) {
              this.loading = false;
              this.exaLists = res.data;
              this.code = this.exaLists.mzh;
            }
          })
          .catch((error) => {
            this.loading = false;
            this.$message.error(res.msg || "查询失败,请稍后重试");
          });
        this.getList();
      },
      /** 重置按钮操作 */
      resetQuery() {
        this.createTimeList = [];
        this.resetForm("queryForm");
        this.queryParams = {
          name: null,
          start: null,
          end: null,
          tjNum: null,
        };
        // 清空其他依赖数据
        this.checkList = [];
        this.exaLists = [];
      },
      handleCurrentChange(row) {
        this.currentRow = row;
      },
      setTime() {
        //设置定时器
        this.clearTimeSet = setInterval(() => {
          this.$modal.closeLoading();
        }, 300000);
      },
      tongbu(row) {
        this.$modal.loading("正在同步,请稍候...");
        this.setTime();
        const requestData = {
          pacs: this.selectedFirstTable, // 左侧表格选中数据
          tj: this.selectedSecondTable[0], // 右侧表格选中数据
        };
        if (!this.selectedSecondTable || this.selectedSecondTable.length === 0) {
          this.$message.error("至少选一条数据!");
          return;
        }
        asyncPacs(requestData)
          .then((res) => {
            if (res.code == 200) {
              this.fetchRightTableData(this.selectedFirstTable);
              clearInterval(this.clearTimeSet);
              this.clearTimeSet = null;
              this.$modal.closeLoading();
              this.$modal.msgSuccess("同步成功!");
            } else {
              this.$message.error(res.message || "同步失败,请稍后重试");
            }
          })
          .catch((error) => {
            clearInterval(this.clearTimeSet);
            this.clearTimeSet = null;
            this.$modal.closeLoading();
          })
      },
    },
  };
  </script>
    <style lang="scss" scoped>
  /* #ta .el-table__header-wrapper .el-checkbox {
    display: none;
  }
  .el-table .warning-row {
    background: #e5f3ff !important;
  }
  ::v-deep .el-table__body tr.current-row > td {
    background: #edf2fa !important;
  }
  .table-title {
    text-align: center;
    margin-bottom: 15px;
  }
  .row-disabled {
    color: #ccc;
    pointer-events: none;
    background-color: #f5f5f5;
  }
  .pag {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .pag1 {
    width: 30%;
  } */
  </style>
src/views/system/tijian/index.vue
@@ -1819,6 +1819,7 @@
    this.getCurrentDateTime();
    this.startTimer();
    this.getList1();
    // this.getData();
  },
  mounted() {},
@@ -2341,8 +2342,13 @@
          if (this.form.cusSex === "未知") {
            this.form.cusSex = 2;
          }
          if (this.form.tjType === '') {
            this.form.tjType = this.dict.type.dict_team[0].value;
          }
          addCustomer(this.form).then((response) => {
            this.responseList = response.data;
            this.$modal.msgSuccess("新增成功");
            // let cusSex = this.form.cusSex;
            // //全部套餐