su
su1124
2024-01-03 4471426a152ff0361350e415307e384453351afd
src/views/doctor/check/index.vue
@@ -215,7 +215,11 @@
                <el-radio-button label="1">科室会诊</el-radio-button>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="选择科室" v-if="form.hzType == '1'" style="margin-top:22px">
            <el-form-item
              label="选择科室"
              v-if="form.hzType == '1'"
              style="margin-top: 22px"
            >
              <el-select
                v-model="form.hzDeptId"
                multiple
@@ -230,7 +234,11 @@
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="申请人" prop="hzDoctorId" style="margin-top:22px">
            <el-form-item
              label="申请人"
              prop="hzDoctorId"
              style="margin-top: 22px"
            >
              <el-select
                v-model="form.hzDoctorId"
                placeholder="请选择"
@@ -471,10 +479,15 @@
            >历史报告</el-button
          >
        </div>
        <div style="margin: 10px 10px">
          <el-button type="primary" size="mini" @click="jianqian"
            >检前问诊</el-button
          >
        </div>
      </div>
      <el-row>
        <el-col :span="18">
        <el-col v-show="baogaoqian">
          <template>
            <div style="margin-left: 10px">
              <el-radio-group
@@ -500,6 +513,7 @@
              prop="project.proName"
              label="检测项目"
              width="150"
              fixed="left"
            >
              <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
@@ -687,8 +701,223 @@
            </div>
          </div>
        </el-col>
        <el-col :span="6">
        <el-col :span="18" v-show="baogaohou">
          <template>
            <div style="margin-left: 10px">
              <el-radio-group
                v-model="radio"
                v-for="(item, index) in Parent"
                :key="index"
                @input="radioChange1(item.proId, item)"
              >
                <el-radio-button :label="item.proId">{{
                  item.proName
                }}</el-radio-button>
              </el-radio-group>
            </div>
          </template>
          <el-table
            v-loading="loading"
            :data="proParentList.sons"
            border
            height="460px"
            style="width: 96%; margin: 10px 10px"
          >
            <el-table-column
              prop="project.proName"
              label="检测项目"
              width="150"
              fixed="left"
            >
              <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
            </el-table-column>
            <el-table-column prop="proResult" label="检测结果" width="200">
              <template slot-scope="scope">
                <el-input
                  type="textarea"
                  autosize
                  size="mini"
                  v-model="scope.row.proResult"
                  autocomplete="off"
                  placeholder="请输入检测结果"
                  @blur="handleInputConfirm(scope.row)"
                  @input="vale"
                  @focus="handleInConfirm(scope.row)"
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column label="规则" width="55">
              <template slot-scope="scope">
                <el-button class="blue-button" @click="handleguize(scope.row)"
                  >...</el-button
                >
              </template>
            </el-table-column>
            <el-table-column prop="project.proMetering" label="单位">
              <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
            </el-table-column>
            <el-table-column prop="project.proScope" label="参考范围">
            </el-table-column>
            <el-table-column prop="conclusion" label="结果结论" width="200">
              <template slot-scope="scope">
                <el-input
                  size="mini"
                  type="textarea"
                  autosize
                  v-model="scope.row.conclusion"
                  autocomplete="off"
                  placeholder="请输入检测结果"
                  disabled
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column
              prop="exceptionDesc"
              label="是否异常"
              width="80px"
              align="center"
            >
              <template slot-scope="scope">
                <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
              </template>
            </el-table-column>
            <el-table-column
              prop="isReturn"
              label="是否复诊"
              width="80px"
              align="center"
            >
              <template slot-scope="scope">
                <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
              </template>
            </el-table-column>
            <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>
          <div style="font-size: 14px; overflow-y: auto; height: 286px">
            <table
              style="
                width: 96%;
                margin: 4px 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
              "
              cellspacing="4"
            >
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  病种选择:
                </td>
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  <el-select
                    v-model="value"
                    multiple
                    placeholder="请选择"
                    style="width: 100%; height: 45px"
                    v-if="deptAdviceList"
                    @change="sel"
                    filterable
                  >
                    <el-option
                      v-for="item in deptAdviceList"
                      :key="item.id"
                      :label="item.title"
                      :value="item.id"
                    >
                    </el-option>
                  </el-select>
                </td>
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  主检医师:
                </td>
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  <el-select
                    v-model="doctorName"
                    placeholder="请选择"
                    style="width: 100%"
                    v-if="deptAdviceList"
                    @change="selName"
                    filterable
                  >
                    <el-option
                      v-for="item in userList"
                      :key="item.userId"
                      :label="item.nickName"
                      :value="item.userId"
                    >
                    </el-option>
                  </el-select>
                </td>
              </tr>
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  建议:
                </td>
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  colspan="2"
                >
                  <el-input
                    type="textarea"
                    placeholder="请输入内容"
                    v-model="proParentList.remark"
                    rows="7"
                  >
                  </el-input>
                </td>
              </tr>
            </table>
            <div slot="footer" class="dialog-footers">
              <!-- <el-button type="primary"
          size="mini"
          @click="radioChange"
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
              <el-button
                type="primary"
                @click="determine"
                v-show="tjStatus == '0'"
                >提 交</el-button
              >
            </div>
          </div>
        </el-col>
        <el-col :span="6" style="margin-top: 15px">
          <Historicalreport
            v-show="lishi"
            :reportHistorydata="reportHistorydata"
          ></Historicalreport>
        </el-col>
@@ -736,11 +965,28 @@
      </div> -->
    </el-drawer>
    <Public ref="aaa" :row="row" @add="handleChanges" />
    <el-dialog
      title="提示"
      :visible.sync="jianqians"
      width="1000px"
      :before-close="handleClose1"
    >
      <jianqianwenzhen
        :jianqianwenzhendata="jianqianwenzhendata"
        v-if="flags"
      ></jianqianwenzhen>
      <span slot="footer" class="dialog-footer">
        <el-button @click="jianqians = false">取 消</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import { getInfoById } from "@/api/hosp/history";
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Public from "@/components/public";
import { getPdf } from "@/api/hosp/order";
import { getInfo } from "@/api/login";
@@ -763,9 +1009,15 @@
export default {
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
  name: "check",
  components: { Public, Historicalreport },
  components: { Public, Historicalreport, jianqianwenzhen },
  data() {
    return {
      baogaoqian: true,
      baogaohou: false,
      flags: false,
      lishi: false,
      jianqianwenzhendata: [],
      jianqians: false,
      selected: false,
      checkval: false,
      // 遮罩层
@@ -840,6 +1092,7 @@
      deptId: "",
      userId: "",
      nickName: "",
      doctorNames: "",
      date: new Date(new Date().getTime() + 8 * 3600 * 1000)
        .toJSON()
        .substr(0, 19)
@@ -853,7 +1106,9 @@
        name: null,
      },
      rules: {
        hzType: [{ required: true, message: "会诊科室为必填项", trigger: "change" }],
        hzType: [
          { required: true, message: "会诊科室为必填项", trigger: "change" },
        ],
      },
    };
  },
@@ -888,6 +1143,12 @@
      listUser(this.addDateRange(this.queryParams, this.dateRange)).then(
        (response) => {
          this.userList = response.rows;
          this.userList.forEach((element) => {
            const userName = this.$store.state.user.name;
            if (userName == element.userName) {
              this.doctorName = element.nickName;
            }
          });
        }
      );
      getInfo().then((response) => {
@@ -899,6 +1160,9 @@
    },
    handleClose() {
      this.$tab.refreshPage();
    },
    handleClose1() {
      this.jianqians = false;
    },
    // 获取医生
    selName(val) {
@@ -1170,7 +1434,6 @@
    },
    hadleedit(row) {
      console.log(row, 111);
      this.form.hzType = row.hzType;
      this.form.id = row.id;
      // this.form.hzDeptId = row.hzDeptNameList;
@@ -1179,7 +1442,7 @@
      //   this.deptList.forEach(items=>{
      //      console.log(item,333);
      //      if(item == items.deptId){
      //       this.form.hzDeptNameList =
      //       this.form.hzDeptNameList =
      //      }
      //   })
      // })
@@ -1256,20 +1519,19 @@
                hzDoctorName: this.form.hzDoctorName,
                id: this.form.id,
              };
              if(this.form.hzDeptId.length != 0){
              if (this.form.hzDeptId.length != 0) {
                addHzlog(data).then((res) => {
                if (res.code == 200) {
                  this.$modal.msgSuccess("申请成功");
                  this.form = {};
                  this.Hzlog();
                  this.radioChange(1);
                }
              });
              this.open = false;
              }else{
                  if (res.code == 200) {
                    this.$modal.msgSuccess("申请成功");
                    this.form = {};
                    this.Hzlog();
                    this.radioChange(1);
                  }
                });
                this.open = false;
              } else {
                this.$modal.msgError("请选择会诊科室");
              }
            }
          }
        });
@@ -1287,6 +1549,8 @@
      this.Hzlog(this.tableAll.tjNumber);
    },
    historicalreport() {
      this.baogaoqian = false;
      this.baogaohou = true;
      this.loading = true;
      let data = {
        cusId: this.tableAll.cusId,
@@ -1296,7 +1560,20 @@
        if (res.data[0] != null) {
          this.reportHistorydata = res.data;
        }
        if (this.reportHistorydata.length >= 1) {
          this.lishi = true;
        } else {
          this.lishi = true;
          this.$modal.msgError("暂无历史报告");
        }
      });
    },
    jianqian() {
      this.flags = true;
      this.jianqians = true;
      let tjNumber = this.tableAll.tjNumber;
      this.jianqianwenzhendata.push(tjNumber);
    },
    handlecan(row) {
@@ -1462,6 +1739,14 @@
        this.proParentList.sons.forEach((item) => {
          this.doctorName = item.doctorName;
          if (this.doctorName == null) {
            this.userList.forEach((element) => {
              const userName = this.$store.state.user.name;
              if (userName == element.userName) {
                this.doctorName = element.nickName;
              }
            });
          }
          if (item.isReturn == 1) {
            item.isReturn = true;
@@ -1597,6 +1882,14 @@
            }
            this.proParentList.sons.forEach((item) => {
              this.doctorName = item.doctorName;
              if (this.doctorName == null) {
                this.userList.forEach((element) => {
                  const userName = this.$store.state.user.name;
                  if (userName == element.userName) {
                    this.doctorName = element.nickName;
                  }
                });
              }
              if (item.isReturn == 1) {
                item.isReturn = true;
              }
@@ -1651,6 +1944,14 @@
            }
            this.proParentList.sons.forEach((item) => {
              this.doctorName = item.doctorName;
              if (this.doctorName == null) {
                this.userList.forEach((element) => {
                  const userName = this.$store.state.user.name;
                  if (userName == element.userName) {
                    this.doctorName = element.nickName;
                  }
                });
              }
              if (item.isReturn == 1) {
                item.isReturn = true;
              }