qx
2025-04-09 93a6f70b8eb631c6c1faab8f9e8a734669e49e6e
src/views/picture/picture/index.vue
@@ -92,6 +92,15 @@
      </el-form-item>
    </el-form>
    <el-radio-group
      v-model="checkStatus"
      @input="radioChange"
      style="margin: 10px 15px"
    >
      <el-radio-button label="0">未检</el-radio-button>
      <el-radio-button label="1">已检</el-radio-button>
    </el-radio-group>
    <div style="width: 100%; margin-left: 10px; display: flex">
      <div style="width: 36%; margin-right: 30px">
        <el-table
@@ -271,7 +280,12 @@
            label-width="68px"
          >
            <el-form-item label="检查所见" prop="proResult">
              <el-input v-model="form.proResult" clearable type="textarea" />
              <el-input
                v-model="form.proResult"
                clearable
                type="textarea"
                @focus="submiepilog"
              />
            </el-form-item>
            <el-form-item label="检查结论" prop="conclusion">
              <el-input
@@ -322,11 +336,12 @@
        :total="total"
        :page.sync="queryParams.page"
        :limit.sync="queryParams.pageSize"
        @pagination="getList"
        @pagination="submitForm"
      />
    </div>
    <Public ref="aaa" @add="handleChanges" />
    <Public ref="aaa" :check-status="checkStatus" :pro-result="form.proResult" :conclusion="form.conclusion" @add="handleChanges" />
    <!--  :last-desc="form.conclusion" -->
  </div>
</template>
@@ -337,6 +352,7 @@
  getYxJcList,
  getYxJcXx,
  addYxJcXx,
  getYxJcXxJg,
} from "@/api/picture/picture";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import {
@@ -352,8 +368,6 @@
} from "@/api/doctor/examination";
import Public from "@/components/public";
import { get } from "sortablejs";
import { getList } from "../../../api/picture/check";
export default {
  dicts: [
    "sys_user_sex",
@@ -371,6 +385,7 @@
      topShow: false,
      rShow: false,
      type: null,
      checkStatus: "0",
      // 遮罩层
      loading: true,
      result: true,
@@ -415,6 +430,7 @@
        endTime: null,
        tcm: "",
        tjCompName: "",
        checkStatus: null,
        // tjNum: null,
        // cusId: null,
        // name: null,
@@ -472,6 +488,7 @@
    this.$nextTick(() => {
      this.$refs.inputName.focus();
    });
    this.radioChange(this.checkStatus);
  },
  methods: {
    // 鼠标进入原图空间函数
@@ -509,6 +526,7 @@
    /** 查询体检心电图管理列表 */
    getList() {
      this.loading = true;
      this.queryParams.checkStatus = this.checkStatus;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.createTimeList) {
        this.queryParams.beginTime = this.createTimeList[0];
@@ -517,7 +535,7 @@
        this.queryParams.beginTime = null;
        this.queryParams.endTime = null;
      }
      getYxJcList(this.queryParams).then((response) => {
      /*  getYxJcList(this.queryParams).then((response) => {
        // console.log(response.data.customers, 666);
        if (response.data) {
@@ -537,7 +555,7 @@
        console.log(response.data.total, 88);
        this.loading = false;
      });
      }); */
      getCompany(this.queryParams).then((response) => {
        this.CompanyList = response.data;
@@ -597,6 +615,37 @@
        });
      }
    },
    radioChange(value) {
      this.loading = true;
      this.queryParams.checkStatus = value;
      getYxJcList(this.queryParams).then((res) => {
        if (res.code == 200) {
          this.loading = false;
          if (res.data) {
            this.pictureList = res.data.customers;
            this.total = res.data.total;
            if (this.pictureList.length != 0) {
              this.$nextTick(() => {
                this.$refs.tb.toggleRowSelection(this.pictureList[0], true);
              });
            } else {
              this.$refs.tb.clearSelection();
            }
            this.total = res.data.total;
          } else {
            this.pictureList = [];
          }
        }
      });
      /*  const tjNumber = this.pictureList.tjNumber;
      getYxJcXx(tjNumber).then((res) => {
        console.log(res, 222);
        this.tableList = res.data;
        this.loading = false;
      }); */
    },
    // 取消按钮
    cancel() {
      this.open = false;
@@ -619,6 +668,7 @@
    },
    submitForm() {
      this.loading = true;
      this.queryParams.checkStatus = this.checkStatus;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.createTimeList) {
        this.queryParams.beginTime = this.createTimeList[0];
@@ -658,7 +708,7 @@
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
      this.submitForm();
    },
    /** 重置按钮操作 */
    resetQuery() {
@@ -670,11 +720,13 @@
        compId: null,
        name: null,
        beginTime: null,
        checkStatus: null,
        endTime: null,
        tjCompName: "",
        tcm: "",
      }),
        (this.CheckBox.drugManufacturerId = "");
      this.tableList = [];
      // this.resetForm("queryForm");
      this.handleQuery();
      this.loading = true;
@@ -689,14 +741,28 @@
    },
    handleCurrentChange(val) {
      this.currentRow = val;
      this.selectedRow = val;
      if (!val || !val.tjNumber) {
        console.warn("tjNumber 为空,不调用接口");
        this.tableList = [];
        return;
      }
      let tjNumber = val.tjNumber;
      this.selectedTjNumber = val.tjNumber;
      this.loading = true;
      getYxJcXx(tjNumber).then((res) => {
        console.log(res, 222);
        this.tableList = res.data;
        this.loading = false;
        this.$nextTick(() => {
          if (this.tableList.length > 0) {
            const firstRow = this.tableList[0];
            this.$refs.mu.toggleRowSelection(firstRow, true);
            this.handleChange([firstRow]);
          }
        });
      });
    },
@@ -754,7 +820,7 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
    /* handleSelectionChange(selection) {
      this.imgsrc = selection[0].picturePath;
      this.tjNumber = selection[0].customer.tjNumber;
      this.ids = selection.map((item) => item.id);
@@ -781,27 +847,82 @@
      }
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    }, */
    handleSelectionChange(selection) {
      this.imgsrc = selection[0].picturePath;
      this.tjNumber = selection[0].customer.tjNumber;
      this.ids = selection.map((item) => item.id);
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.tb.toggleRowSelection(del_row, false);
      }
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      selection.forEach((element) => {
        this.tableList = element.list;
        if (this.tableList.length !== 0) {
          // ✅ 提前赋值 selectedRow,避免 handleChange 时未赋值
          this.selectedRow = this.tableList[0];
          this.form.proResult = this.tableList[0].proResult;
          this.form.conclusion = this.tableList[0].conclusion;
          this.$nextTick(() => {
            this.$refs.mu.toggleRowSelection(this.tableList[0], true);
          });
        } else {
          this.selectedRow = null;
          this.$refs.mu.clearSelection();
        }
      });
    },
    handleChange(selection) {
      console.log(selection, 123);
      if (selection && selection.length > 0) {
        // 假设我们选择了一个项目,并从第一个选择的对象中提取 proId
        const proId = selection[0].proId;
        console.log("选中的 proId:", proId);
        // 更新 selectedRow,以便在 submito 方法中访问
        this.selectedRow = selection[0]; // 将选中的行赋值给 selectedRow
        // ✅ 确保 selectedRow 存在且有 tjNumber
        if (this.selectedRow && this.selectedRow.tjNumber) {
          const tjNumber = this.selectedRow.tjNumber;
          getYxJcXxJg(tjNumber, proId).then((res) => {
            this.form.proResult = res.data.jcsj;
            this.form.conclusion = res.data.jcjl;
            this.$refs.aaa.updateData(res.data.jcsj, res.data.jcjl);
          });
        } else {
          console.warn("selectedRow 未准备好,跳过接口调用");
        }
        // ✅ 同时更新 selectedRow
        this.selectedRow = selection[0];
      }
    },
    handleChanges(value) {
    /* handleChange(selection) {
      // console.log(selection, 123);
      if (selection && selection.length > 0) {
        const proId = selection[0].proId;
        const tjNumber = this.selectedRow.tjNumber;
        this.selectedRow = selection[0];
        getYxJcXxJg(tjNumber, proId).then((res) => {
          console.log(res, 333);
          this.form.proResult = res.data.jcsj;
          this.form.conclusion = res.data.jcjl;
        });
      }
    }, */
    handleChanges(value, yxbx) {
      this.form.conclusion = value;
      this.form.proResult = yxbx;
    },
    submiepilog() {
      this.$refs.aaa.open = true;
      let proId = "1633660948860522585";
      // let proId = null
      this.$refs.aaa.getList(proId);
    },
    tupian() {
@@ -848,7 +969,8 @@
      })
        .then((response) => {
          console.log("提交成功", response);
          this.getList();
          this.submitForm();
          this.form.proResult = "";
          this.form.conclusion = "";
        })