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">
@@ -347,127 +366,215 @@
              :key="index"
              style="margin-left: 10px"
            >
              <div style="text-align: center; background-color: #f8f8f9;margin-top: 10px;">
              <div
                style="
                  text-align: center;
                  background-color: #aad8df;
                  margin-top: 10px;
                "
              >
                {{ item.parent || "" }}
              </div>
              <el-table
                :data="item.sons"
                border
                style="width: 100%"
                :row-style="changRed"
              >
                <el-table-column align="center" label="检测项目" width="240">
                  <template slot-scope="scope">
                    <div v-if="scope.row.project != null">
                      {{ scope.row.project.proName || "" }}
                    </div>
                    <div v-else>{{ scope.row.proName }}</div>
                  </template>
                </el-table-column>
                <el-table-column
                  align="center"
                  prop="proResult"
                  label="检测结果"
                  width="180"
              <div v-if="item.xmlb == '0'">
                <el-table
                  :data="item.sons"
                  border
                  style="width: 100%"
                  :row-style="changRed"
                  :header-cell-style="{ background: '#aad8df' }"
                >
                </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%">
                <tr
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  <td
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 240px;
                    "
                  <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"
                  >
                    小结:
                  </td>
                  <td
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 180px;
                    "
                  </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"
                  >
                    <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)">
                    <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
                    </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: 350px;
                      width: 200px;
                    "
                  >
                    主检医师:
                  </td>
                  <td
                    <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>
              <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"
                  >
                    {{ item.doctorName }}
                  </td>
                </tr>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  <td
                    <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: 240px;
                      width: 200px;
                      height: 36px;
                    "
                  >
                    备注:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse;"
                    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 >
              </el-input> -->
                  </td>
                </tr>
              </table>
                    <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">
            <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
              <el-button type="primary" @click="propoChange"
                >快捷建议</el-button
              >
@@ -480,6 +587,7 @@
              ref="numberValidateForm"
              label-width="80px"
              class="demo-ruleForm"
              v-if="tjproject != '1'"
            >
              <el-form-item label="总检建议">
                <el-input
@@ -494,7 +602,7 @@
            </el-form>
            <div slot="footer" class="dialog-footers">
              <el-button
              v-if="tjproject == '0'"
                v-if="tjproject == '0'"
                type="primary"
                size="mini"
                @click.stop="rowClick"
@@ -1414,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;
@@ -1432,7 +1542,6 @@
    },
    eventchange(data) {
      this.dataText = data;
      console.log(this.textarea1);
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
@@ -1465,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 {
@@ -1545,6 +1654,7 @@
    // 搜索
    submitForm() {
      console.log(this.tjStatus);
      this.loading = true;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      this.queryParams.checkStatus = this.tjStatus;
@@ -1583,8 +1693,14 @@
      if (row.ycbz != "" && row.ycbz != null) {
        // 变颜色的条件
        return {
          backgroundColor: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
        };
      }
    },
    handleCurrentChange(val) {
      if (val != null) {
        this.handleClick(val);
      }
    },
@@ -1628,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({
@@ -1680,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 {
@@ -1761,6 +1876,7 @@
            id: this.MsgId,
          };
          getfiedState(data).then((res) => {});
          this.submitForm();
        });
    },
    handleClose1() {
@@ -1787,9 +1903,7 @@
    //     });
    //   }
    // },
    change(vale) {
      // console.log(this.changedate[index].remark);
    },
    change(vale) {},
    determine() {
      let tjNumber = this.tableAll.tjNumber;
      let advice = this.textarea1;
@@ -1808,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();
        }
      });
@@ -1829,8 +1953,7 @@
        ];
        getModified(updateOrderRemarkVos).then((response) => {});
      }
      this.submitForm();
      this.$forceUpdate();
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;