qinxianzhangyao
2023-12-04 5d6c890bd2fff4c46cefead7351d75c1532be57c
src/views/doctor/imaging/index.vue
@@ -151,14 +151,59 @@
    <el-dialog :title="title" :visible.sync="tuweiopen" width="1000px" append-to-body>
      <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="50" align="center" />
        <el-table-column label="科室" align="center" prop="hzDeptName" width="100px" />
        <el-table-column label="项目" align="center" prop="hzDoctorName" width="100px" />
      </el-table>
      <div slot="footer" class="dialog-footer">
      <el-row>
        <el-col :span="10">
          <el-table :data="proimgList" border ref="tabss" @selection-change="handleproimgChange">
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="项目" align="center" prop="proName" />
            <el-table-column label="医生" align="center" prop="createBy" />
          </el-table>
        </el-col>
        <el-col :span="12">
          <div class="demo-image__preview">
            <el-image style="width: 240px; height: 120px;margin-left: 10px;" :src="url" :preview-src-list="srcList">
            </el-image>
          </div>
        </el-col>
      </el-row>
      <!-- <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submittuwei">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div> -->
    </el-dialog>
    <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body>
      <el-form ref="form" :model="formIn" label-width="100px">
        <el-form-item label="姓名">
          <el-input v-model="formIn.cusName" disabled></el-input>
        </el-form-item>
        <el-form-item label="体检号">
          <el-input v-model="formIn.tjNumber" disabled></el-input>
        </el-form-item>
        <el-form-item label="父项名称">
          <el-input v-model="Parentcheck.proName" disabled></el-input>
        </el-form-item>
        <el-form-item label="子项名称">
          <el-input v-model="formIn.proName" disabled></el-input>
        </el-form-item>
        <el-form-item label="重大阳性">
          <el-radio-group v-model="formIn.flag">
            <el-radio label="1">是</el-radio>
            <el-radio label="0">否</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="等级">
          <el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%;">
            <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="备注">
          <el-input type="textarea" v-model="formIn.remark"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitcheckval">确 定</el-button>
        <el-button @click="cancell">取 消</el-button>
      </div>
    </el-dialog>
@@ -219,9 +264,7 @@
        <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button>
        </div>
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
        </div>
      </div>
@@ -258,7 +301,7 @@
            {{ scope.row.standard.company }}
          </template> -->
        </el-table-column>
        <el-table-column prop="project.proScope" label="参考范围">
        <el-table-column prop="project.proScope" label="参考范围"  width="100">
        </el-table-column>
        <el-table-column prop="conclusion" label="结果结论" width="280">
          <template slot-scope="scope">
@@ -279,6 +322,13 @@
        <el-table-column prop="project.resultType" label="结果类型">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
          </template>
        </el-table-column>
        <el-table-column prop="isPositive" label="重大阳性">
          <template slot-scope="scope">
            <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
              @change="checkboxchange(scope.row)"></el-switch>
          </template>
        </el-table-column>
      </el-table>
@@ -310,6 +360,11 @@
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
                </el-option>
              </el-select>
            </td>
            <td>
              <div>
                <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
              </div>
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -384,12 +439,15 @@
import { getInfo } from "@/api/login";
import {
  huaYangetProList,
  getSons,
  getPhotoList,
  getaddRemark,
  getParentList,
  getParentId,
  getDeptAdvice,
} from "@/api/doctor/check";
import {
  addBigPositive
} from "@/api/doctor/bigPositive";
import {
  addReplylog, hzHasDept
} from "@/api/hosp/replylog";
@@ -397,11 +455,17 @@
import { listUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
export default {
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"],
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
  name: "check",
  components: { Public },
  data() {
    return {
      url: '',
      srcList: [],
      formIn:{},
      project: {},
      Parentcheck: {},
      checkval:false,
      selected: false,
      // 遮罩层
      loading: false,
@@ -453,6 +517,7 @@
      Parent: [],
      hzReplyLogsList: [],
      hasdeptList: [],
      proimgList: [],
      radio: "",
      nums: "",
      proParentList: [],
@@ -672,11 +737,65 @@
    },
    Graphicreport() {
      this.drawer = false;
      this.tuweiopen = true
      // this.drawer = false;
      this.tuweiopen = true;
      let data = {
        tjNumber:this.tjNumber,
        proId:this.proId,
      }
      getPhotoList(data).then(res => {
        this.proimgList = res.data
      })
    },
    submittuwei(){
    handleproimgChange(selected){
      const val = selected
      selected.forEach(item => {
        if(val[val.length -1] == item){
          this.$refs.tabss.toggleRowSelection(item,true)
        }else {
          this.$refs.tabss.toggleRowSelection(item,false)
        }
      })
      this.url = selected[0].checkPicture
      this.srcList.push(selected[0].checkPicture)
    },
    submittuwei() {
    },
    checkboxchange(val) {
      this.project = val.project
      this.formIn.tjNumber = this.tableAll.tjNumber
      this.formIn.cusId = this.tableAll.cusId
      this.formIn.cusName = this.tableAll.cusName
      this.formIn.proId = this.project.proId
      this.formIn.proName = this.project.proName
      this.formIn.orderId = val.orderId
      this.Parent.forEach(item => {
        if (this.radio == item.proId) {
          this.Parentcheck.proName = item.proName
          this.formIn.proParentId = item.proId
        }
      })
      if (val.isPositive == "1") {
        this.checkval = true;
      } else {
        this.formIn.flag = "0"
        addBigPositive(this.formIn).then(res => {
        this.$modal.msgSuccess("删除成功");
        this.getParentIdsss()
      })
      }
    },
    submitcheckval() {
      addBigPositive(this.formIn).then(res => {
        this.$modal.msgSuccess("新增成功");
        this.getParentIdsss()
        this.checkval = false;
      })
    },
    cancell() {
      this.checkval = false;
    },
    Hzlog(val) {
@@ -782,7 +901,9 @@
    },
    cancel() {
      this.open = false;
      this.foropen = false
      this.foropen = false;
      this.tuweiopen = false;
    },
    Changeapply() {
@@ -843,8 +964,8 @@
      }
    },
    // 点击详情
    handleClick(row) {
     // 点击详情
     handleClick(row) {
      this.getDept(row.tjNumber)
      this.loading = true;
      this.drawer = true;
@@ -858,67 +979,32 @@
      this.tjNumber = row.tjNumber;
      let num = 0;
      getParentList(this.tjNumber).then((response) => {
        this.Parent = response.data;
        this.Parent.forEach((item) => {
          if (item.type === 1) {
            item.proName += "    ✔";
          }
          if (num === 0) {
            this.nums = item.proId;
            this.radio = item.proId;
            this.proId = item.proId;
            // this.radioChange1(item.proId, item);
            let data = {
              tjNumber: this.tjNumber,
              proParentId: this.nums,
            };
            getParentId(data).then((response) => {
              this.proParentList = response.data;
              this.loading = false;
              this.value = [];
              if (this.proParentList.xiaoJieIds != null) {
                if (this.proParentList.xiaoJieIds.length != 0) {
                  this.proParentList.xiaoJieIds.forEach((item2) => {
                    let item = Number(item2)
                    this.value.push(item);
                  });
                }
              }
        if (response.data) {
          this.loading = false;
          this.Parent = response.data;
          this.Parent.forEach((item) => {
            if (item.type === 1) {
              item.proName += "    ✔";
            }
            if (num === 0) {
              this.nums = item.proId;
              this.radio = item.proId;
              this.proId = item.proId;
              // this.radioChange1(item.proId, item);
              this.getParentIdsss()
              this.proParentList.sons.forEach((item) => {
                this.doctorName = item.doctorName;
                if (item.isReturn == 1) {
                  item.isReturn = true;
                }
                if (item.isReturn == 0) {
                  item.isReturn = false;
                }
                if (item.exceptionDesc == "1") {
                  item.exceptionDesc = true;
                }
                if (item.exceptionDesc == "0") {
                  item.exceptionDesc = false;
                }
              getDeptAdvice(this.proId).then((response) => {
                this.deptAdviceList = response.data;
              });
              if (this.proParentList.xiaoJie.length != 0) {
                this.Parent.forEach((item3) => {
                  if (item3.proId === this.nums) {
                    this.proParentList.remark = item.remark;
                  }
                });
              } else {
                this.proParentList.remark = "";
              }
            });
            }
            num = num + 1;
          });
        } else {
          this.loading = false;
          this.Parent = [];
          this.$modal.msgError("该科室下无项目!");
        }
            getDeptAdvice(this.proId).then((response) => {
              this.deptAdviceList = response.data;
            });
          }
          num = num + 1;
        });
      });
      getDeptAdvice().then((response) => {
        this.deptAdviceList = response.data;
@@ -938,6 +1024,53 @@
      //     this.DeptadviceAll = item
      //   })
      // });
    },
    getParentIdsss() {
      let data = {
        tjNumber: this.tjNumber,
        proParentId: this.nums,
      };
      getParentId(data).then((response) => {
        this.proParentList = response.data;
        this.loading = false;
        this.value = [];
        if (this.proParentList.xiaoJieIds != null) {
          if (this.proParentList.xiaoJieIds.length != 0) {
            this.proParentList.xiaoJieIds.forEach((item2) => {
              let item = Number(item2)
              this.value.push(item);
            });
          }
        }
        this.proParentList.sons.forEach((item) => {
          this.doctorName = item.doctorName;
          if (item.isReturn == 1) {
            item.isReturn = true;
          }
          if (item.isReturn == 0) {
            item.isReturn = false;
          }
          if (item.exceptionDesc == "1") {
            item.exceptionDesc = true;
          }
          if (item.exceptionDesc == "0") {
            item.exceptionDesc = false;
          }
        });
        if (this.proParentList.xiaoJie.length != 0) {
          this.Parent.forEach((item3) => {
            if (item3.proId === this.nums) {
              this.proParentList.remark = item.remark;
            }
          });
        } else {
          this.proParentList.remark = "";
        }
      });
    },
    getDept(val) {
@@ -969,6 +1102,7 @@
    // 按钮点击事件
    radioChange1(proParentId, item) {
      this.Parentcheck = item
      this.$confirm(
        "检测到体检结果未提交,是否在离开该项目前提交修改?",
        "确认信息",