qinxianzhangyao
2024-06-26 4128e96b8cd8830c624d6687bee50a7812edce28
src/views/doctor/checkAll/index.vue
@@ -68,7 +68,11 @@
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm"
        <el-button
          type="primary"
          size="mini"
          @click="submitForm"
          style="margin-right: 15px"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
@@ -182,17 +186,25 @@
          <template slot-scope="scope">
            <el-button
              fixed="right"
              title="处方"
              type="text"
              size="mini"
              @click.stop="rowClick(scope.row)"
              icon="el-icon-edit-outline"
            ></el-button>
            <el-button
              fixed="right"
              title="详情"
              type="text"
              size="mini"
              @click="handleClick(scope.row)"
              @click.stop="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button
              type="text"
              size="mini"
              @click="viewReport(scope.row)"
              @click.stop="viewReport(scope.row)"
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
@@ -202,7 +214,7 @@
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click="getRevoke(scope.row)"
              @click.stop="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
          </template>
@@ -330,226 +342,131 @@
          <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"
              <div style="text-align: center; background-color: #f8f8f9;margin-top: 10px;">
                {{ item.parent || "" }}
              </div>
              <el-table
                :data="item.sons"
                border
                style="width: 100%"
                :row-style="changRed"
              >
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                <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"
                >
                  检测项目
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                </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"
                >
                  检测结果
                </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
                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;
                "
              >
                <td>小结:</td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  <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: 240px;
                    "
                  >
                    小结:
                  </td>
                  <td
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 180px;
                    "
                  >
                    <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: 350px;
                    "
                  >
                    主检医师:
                  </td>
                  <td
                    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: 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
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 240px;
                    "
                  >
                    备注:
                  </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>
                </tr>
              </table>
            </div>
            <div style="margin: 0 0px 10px 15px">
              <el-button type="primary" @click="propoChange"
                >快捷建议</el-button
@@ -575,13 +492,23 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers" v-if="tjproject == '0'">
            <div slot="footer" class="dialog-footers">
              <el-button
              v-if="tjproject == '0'"
                type="primary"
                @click="determine"
                :disabled="isdisabled"
                >提交并生成报告</el-button
                size="mini"
                @click.stop="rowClick"
                icon="el-icon-edit-outline"
                >开处方</el-button
              >
              <div v-if="tjproject == '0'" style="padding-left: 10px">
                <el-button
                  type="primary"
                  @click="determine"
                  :disabled="isdisabled"
                  >提交并生成报告</el-button
                >
              </div>
            </div>
          </div>
        </el-col>
@@ -1047,16 +974,16 @@
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
    <Prescription ref="Pre" :preObj="preObj" />
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <createproposal ref="createproposal" :textarea1="textarea1" />
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <el-dialog
      title="常用建议维护"
      :visible.sync="propdialog"
      width="500px"
      append-to-body
    >
    </el-dialog>
  </div>
</template>
@@ -1065,6 +992,7 @@
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
import proposal from "@/components/proposal";
import createproposal from "@/components/createproposal";
import {
@@ -1097,7 +1025,9 @@
    Historicalreport,
    jianqianwenzhen,
    Packages,
    proposal,createproposal
    proposal,
    createproposal,
    Prescription,
  },
  dicts: [
    "dict_tjtype",
@@ -1113,6 +1043,7 @@
  name: "checkAll",
  data() {
    return {
      preObj: {},
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
@@ -1123,8 +1054,8 @@
      hosproy: true,
      remarks: "",
      remark: "",
      creatobj: {},
      propdialog: false,
      propform: {},
      proIds: "",
      cusobj: {},
      xiaojie: "",
@@ -1193,6 +1124,7 @@
      Deptobj: "",
      // 点击参数
      changedate: [],
      dataText: [],
      status: {},
      // 查询参数
      queryParams: {
@@ -1468,6 +1400,16 @@
      });
    },
    rowClick(row) {
      if (row.tjNumber) {
        this.preObj = row;
      } else {
        this.preObj = this.tableAll;
      }
      this.$refs.Pre.open = true;
      this.$refs.Pre.title = "处方";
    },
    // 单选按钮
    radioChange(value) {
      this.loading = true;
@@ -1483,19 +1425,32 @@
      });
    },
    propoChange() {
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 };
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
      this.$refs.proposal.open = true;
      this.$refs.proposal.title = "建议方案";
      // this.$refs.proposal.getList();
    },
    eventchange(data) {
      this.dataText = data;
      console.log(this.textarea1);
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
      data.forEach((item) => {
        this.textarea1 += item.advice
        this.textarea1 += item.advice;
      });
    },
    proposalChange() {
      this.$refs.createproposal.open = true;
      this.$refs.createproposal.title = "常用建议维护";
      if (this.textarea1) {
        this.creatobj = { proParentList: this.textarea1, isZj: 0 };
        this.$refs.createproposal.open = true;
        this.$refs.createproposal.title = "常用建议维护";
      } else {
        this.$message({
          type: "warning ",
          message: "请先填写总检建议",
        });
      }
    },
    radiotjprojectChange() {
      if (this.tjproject == "0") {
@@ -1542,12 +1497,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 = "";
              });
@@ -1624,9 +1579,18 @@
      this.resetForm("tableList");
      this.submitForm();
    },
    changRed({ row }) {
      if (row.ycbz != "" && row.ycbz != null) {
        // 变颜色的条件
        return {
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
        };
      }
    },
    // 点击详情
    handleClick(row) {
      this.$refs.Pre.open = false;
      this.tableAll = row;
      this.tjproject = "0";
      // if (this.tableAll.cusSex === 0) {
@@ -1770,7 +1734,6 @@
    cancel() {
      this.propdialog = false;
    },
    submitpropForm() {},
    // 是否关闭弹窗
    handleClose(done) {
@@ -1933,7 +1896,8 @@
.dialog-footers {
  /* margin-top: 5px; */
  margin-left: calc(100% - 15%);
  display: flex;
  margin-left: calc(100% - 25%);
}
textarea {