qinxianzhangyao
2024-07-23 50dd8296b363798246749bc402302535451921a5
src/views/doctor/checkAll/index.vue
@@ -95,6 +95,7 @@
        ref="table"
        border
        style="margin: 20px; width: 98%"
        @current-change="handleCurrentChange"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column
@@ -228,7 +229,7 @@
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
            @pagination="submitForm"
          />
        </div>
      </div>
@@ -242,69 +243,87 @@
      :with-header="false"
      size="80%"
    >
      <div style="font-size: 14px">
        <table
          style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
        >
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{
              tableAll.cusName
            }}的体检资料
          </caption>
          <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">
              {{ tableAll.cusName }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{
                tableAll.cusSex == 0
                  ? "男"
                  : tableAll.cusSex == 1
                  ? "女"
                  : "未知"
              }}
            </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">
              {{ tableAll.tjNumber }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              体检时间:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.tjTime }}
            </td>
          </tr>
        </table>
      </div>
      <div>
        <el-row>
          <el-col :span="18">
            <div style="margin: 10px 10px">
              <el-radio-group
                v-model="tjproject"
                @input="radiotjprojectChange"
                style="margin-left: 20px"
            <div style="font-size: 14px">
              <table
                style="
                  width: 98%;
                  margin: 10px 10px;
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                "
                cellspacing="4"
              >
                <el-radio-button label="0">体检项目</el-radio-button>
                <el-radio-button label="1">化验项目</el-radio-button>
              </el-radio-group>
                <caption style="background-color: #f8f8f9; font-size: 18px">
                  {{
                    tableAll.cusName
                  }}的体检资料
                </caption>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    height: 36px;
                  "
                >
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    姓名:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.cusName }}
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    性别:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{
                      tableAll.cusSex == 0
                        ? "男"
                        : tableAll.cusSex == 1
                        ? "女"
                        : "未知"
                    }}
                  </td>
                </tr>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    height: 36px;
                  "
                >
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    体检单号:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.tjNumber }}
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    体检时间:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.tjTime }}
                  </td>
                </tr>
              </table>
            </div>
          </el-col>
          <el-col :span="6">
@@ -342,227 +361,220 @@
          <div
            style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)"
          >
            <table
              style="
                width: 96%;
                margin: 10px 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
              "
              cellspacing="4"
            <div
              v-for="(item, index) in changedate"
              :key="index"
              style="margin-left: 10px"
            >
              <caption style="background-color: #f8f8f9">
                {{
                  item.parent || ""
                }}
              </caption>
              <tr
                style="border: 1px solid #dfe6ec; border-collapse: collapse"
                align="center"
              >
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测项目
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测结果
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  单位
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  参考范围
                </th>
              </tr>
              <tr
              <div
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                  height: 35px;
                  text-align: center;
                "
                v-for="item1 in item.sons"
                :key="item1.proId"
              >
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{ item1.project.proName || "" }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.proName }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{ item1.proResult }}
                  <!-- <el-input v-model="item1.proResult" placeholder="请输入内容"></el-input> -->
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{ item1.standard.company }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.proAdvice }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{
                    item1.standard.tjStandardGtValue +
                    "-" +
                    item1.standard.tjStandardLtValue
                  }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.stanId }}
                </td>
              </tr>
              <tr
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                  background-color: #aad8df;
                  margin-top: 10px;
                "
              >
                <td>小结:</td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                {{ item.parent || "" }}
              </div>
              <div v-if="item.xmlb == '0'">
                <el-table
                  :data="item.sons"
                  border
                  style="width: 100%"
                  :row-style="changRed"
                  :header-cell-style="{ background: '#aad8df' }"
                >
                  <el-input v-model="item.remark" disabled></el-input>
                  <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                  <el-table-column align="center" label="检测项目" width="240">
                    <template slot-scope="scope">
                      <div>{{ scope.row.proName }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    align="center"
                    prop="proResult"
                    label="检测结果"
                    width="180"
                  >
                  </el-table-column>
                  <el-table-column align="center" prop="" label="单位">
                    <template slot-scope="scope">
                      <div v-if="scope.row.project != null">
                        {{ scope.row.standard.company || "" }}
                      </div>
                      <div v-else>{{ scope.row.proAdvice }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column align="center" prop="" label=" 参考范围">
                    <template slot-scope="scope">
                      <div v-if="scope.row.project != null">
                        {{
                          scope.row.standard.tjStandardGtValue ||
                          "/" + "-" + scope.row.standard.tjStandardLtValue ||
                          "/"
                        }}
                      </div>
                      <div v-else>{{ scope.row.stanId || "/" }}</div>
                    </template>
                  </el-table-column>
                </el-table>
                <table style="width: 100%" v-if="tjproject != '1'">
                  <tr
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 7%;
                      "
                    >
                      小结:
                    </td>
                    <td style="border: 1px solid #dfe6ec; width: 45%">
                      <el-input v-model="item.remark" disabled></el-input>
                      <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id">
                </el-option>
              </el-select> -->
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  主检医师:
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{ item.doctorName }}
                </td>
              </tr>
              <tr
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                "
              >
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  备注:
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  colspan="2"
                >
                  <textarea
                    placeholder="请输入内容"
                    :autosize="{ minRows: 2, maxRows: 2 }"
                    style="width: 100%; height: 100%"
                    v-model="changedate[index].remark"
                    v-on:input="change"
                  ></textarea>
                  <!-- <el-input type="textarea" autosize >
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 15%;
                      "
                    >
                      主检医师:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                      colspan="2"
                    >
                      {{ item.doctorName }}
                    </td>
                  </tr>
                  <tr
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 200px;
                    "
                  >
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 240px;
                      "
                    >
                      备注:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                      colspan="3"
                    >
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 2, maxRows: 2 }"
                        style="width: 100%; height: 100%; resize: none"
                        v-model="changedate[index].remark"
                        v-on:input="change"
                      ></textarea>
                      <!-- <el-input type="textarea" autosize >
              </el-input> -->
                </td>
              </tr>
            </table>
            <div style="margin: 0 0px 10px 15px">
                    </td>
                  </tr>
                </table>
              </div>
              <div v-else>
                <table style="width: 100%" v-if="tjproject != '1'">
                  <tr
                    style="border: 1px solid #dfe6ec; "
                  >
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 15%;
                        height: 52px;
                      "
                    >
                      检查所见:
                    </td>
                    <td style="border: 1px solid #dfe6ec; height: 52px;" colspan="2">
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 3, maxRows: 4 }"
                        style="width: 100%; height: 100%; resize: none"
                        v-model="item.jgbx"
                      ></textarea>
                    </td>
                  </tr>
                  <tr
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 15%;
                      "
                    >
                      检查提示:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                      colspan="2"
                    >
                      <!-- <el-input v-model="item.remark"></el-input> -->
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 2, maxRows: 3 }"
                        style="width: 100%; height: 100%; resize: none"
                        v-model="item.remark"
                      ></textarea>
                    </td>
                  </tr>
                  <tr
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 200px;
                      height: 36px;
                    "
                  >
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                        width: 15%;
                      "
                    >
                      主检医师:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                      colspan="2"
                    >
                      {{ item.doctorName }}
                    </td>
                  </tr>
                </table>
              </div>
            </div>
            <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
              <el-button type="primary" @click="propoChange"
                >快捷建议</el-button
              >
@@ -575,6 +587,7 @@
              ref="numberValidateForm"
              label-width="80px"
              class="demo-ruleForm"
              v-if="tjproject != '1'"
            >
              <el-form-item label="总检建议">
                <el-input
@@ -587,15 +600,16 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers" >
            <div slot="footer" class="dialog-footers">
              <el-button
                v-if="tjproject == '0'"
                type="primary"
                size="mini"
                @click.stop="rowClick"
                icon="el-icon-edit-outline"
                >开处方</el-button
              >
              <div v-if="tjproject == '0'" style="padding-left:10px ;">
              <div v-if="tjproject == '0'" style="padding-left: 10px">
                <el-button
                  type="primary"
                  @click="determine"
@@ -1495,9 +1509,9 @@
    },
    rowClick(row) {
      if(row.tjNumber){
      if (row.tjNumber) {
        this.preObj = row;
      }else{
      } else {
        this.preObj = this.tableAll;
      }
      this.$refs.Pre.open = true;
@@ -1508,6 +1522,8 @@
    radioChange(value) {
      this.loading = true;
      this.queryParams.checkStatus = value;
      this.queryParams.page = 1;
      this.queryParams.pageSize = 10;
      getcheckList(this.queryParams).then((response) => {
        if (response.data) {
          this.checkList = response.data.customers;
@@ -1526,7 +1542,6 @@
    },
    eventchange(data) {
      this.dataText = data;
      console.log(this.textarea1);
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
@@ -1559,14 +1574,14 @@
            }
            this.changedate.forEach((item) => {
              // this.remark = item.remark;
              item.sons.forEach((item3) => {
                if (item3.standard.tjStandardGtValue === null) {
                  item3.standard.tjStandardGtValue = "";
                }
                if (item3.standard.tjStandardLtValue === null) {
                  item3.standard.tjStandardLtValue = "";
                }
              });
              // item.sons.forEach((item3) => {
              //   if (item3.standard.tjStandardGtValue === null) {
              //     item3.standard.tjStandardGtValue = "";
              //   }
              //   if (item3.standard.tjStandardLtValue === null) {
              //     item3.standard.tjStandardLtValue = "";
              //   }
              // });
              // item.remark = "";
            });
          } else {
@@ -1591,12 +1606,12 @@
              this.changedate.forEach((item) => {
                // this.remark = item.remark;
                item.sons.forEach((item3) => {
                  if (item3.standard.tjStandardGtValue === null) {
                    item3.standard.tjStandardGtValue = "";
                  }
                  if (item3.standard.tjStandardLtValue === null) {
                    item3.standard.tjStandardLtValue = "";
                  }
                  // if (item3.standard.tjStandardGtValue === null) {
                  //   item3.standard.tjStandardGtValue = "";
                  // }
                  // if (item3.standard.tjStandardLtValue === null) {
                  //   item3.standard.tjStandardLtValue = "";
                  // }
                });
                // item.remark = "";
              });
@@ -1639,6 +1654,7 @@
    // 搜索
    submitForm() {
      console.log(this.tjStatus);
      this.loading = true;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      this.queryParams.checkStatus = this.tjStatus;
@@ -1672,6 +1688,20 @@
      this.startTime = [];
      this.resetForm("tableList");
      this.submitForm();
    },
    changRed({ row }) {
      if (row.ycbz != "" && row.ycbz != null) {
        // 变颜色的条件
        return {
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
        };
      }
    },
    handleCurrentChange(val) {
      if (val != null) {
        this.handleClick(val);
      }
    },
    // 点击详情
@@ -1714,15 +1744,14 @@
                    }
                    this.changedate.forEach((item) => {
                      // this.remark = item.remark;
                      item.sons.forEach((item3) => {
                        if (item3.standard.tjStandardGtValue === null) {
                          item3.standard.tjStandardGtValue = "";
                        }
                        if (item3.standard.tjStandardLtValue === null) {
                          item3.standard.tjStandardLtValue = "";
                        }
                      });
                      // item.remark = "";
                      // item.sons.forEach((item3) => {
                      //   if (item3.standard.tjStandardGtValue === null) {
                      //     item3.standard.tjStandardGtValue = "";
                      //   }
                      //   if (item3.standard.tjStandardLtValue === null) {
                      //     item3.standard.tjStandardLtValue = "";
                      //   }
                      // });
                    });
                  } else {
                    this.$message({
@@ -1766,14 +1795,14 @@
                          this.textarea1 = item.checkAdvice;
                          // this.remark = item.remark;
                          item.sons.forEach((item3) => {
                            if (item3.standard.tjStandardGtValue === null) {
                              item3.standard.tjStandardGtValue = "";
                            }
                            if (item3.standard.tjStandardLtValue === null) {
                              item3.standard.tjStandardLtValue = "";
                            }
                          });
                          // item.sons.forEach((item3) => {
                          //   if (item3.standard.tjStandardGtValue === null) {
                          //     item3.standard.tjStandardGtValue = "";
                          //   }
                          //   if (item3.standard.tjStandardLtValue === null) {
                          //     item3.standard.tjStandardLtValue = "";
                          //   }
                          // });
                          // item.remark = "";
                        });
                      } else {
@@ -1847,6 +1876,7 @@
            id: this.MsgId,
          };
          getfiedState(data).then((res) => {});
          this.submitForm();
        });
    },
    handleClose1() {
@@ -1873,9 +1903,7 @@
    //     });
    //   }
    // },
    change(vale) {
      // console.log(this.changedate[index].remark);
    },
    change(vale) {},
    determine() {
      let tjNumber = this.tableAll.tjNumber;
      let advice = this.textarea1;
@@ -1894,12 +1922,22 @@
            state: 1,
            id: this.MsgId,
          };
          gettoPdf(tjNumber).then((res) => {
            this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
          });
          gettoPdf(tjNumber)
            .then((res) => {
              this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
            })
            .catch((error) => {
              this.$modal.msgError(
                "打印报告失败,请前往报告打印页面补打报告!"
              );
            });
          getfiedState(data).then((res) => {
            this.drawer = false;
          });
          this.queryParams.page = 1;
          this.queryParams.pageSize = 10;
          this.submitForm();
          this.$forceUpdate();
        }
      });
@@ -1915,8 +1953,7 @@
        ];
        getModified(updateOrderRemarkVos).then((response) => {});
      }
      this.submitForm();
      this.$forceUpdate();
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;