qinxianzhangyao
2024-03-26 0303c170c6ff96ad5b2da77e54d6f9c8fd461470
src/views/doctor/checkAll/index.vue
@@ -110,7 +110,7 @@
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.cusSex }}
              {{ tableAll.cusSex == 0? "男" :tableAll.cusSex == 1?"女":"未知"}}
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -129,22 +129,34 @@
          </tr>
        </table>
      </div>
      <div style="display: flex">
        <div style="margin: 10px 10px">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        </div>
        <div style="margin: 10px 10px" v-if="tableAll.tjCategory == '02'">
          <el-button type="primary" size="mini" @click="medicalhistory()">职业病史</el-button>
        </div>
        <div style="margin: 10px 10px">
          <el-button type="primary" size="mini" @click="jianqian()">检前问诊</el-button>
        </div>
        <div style="margin: 10px 10px">
          <el-radio-group v-model="tjproject" @input="radiotjprojectChange" style="margin-left: 20px" size="mini">
            <el-radio-button label="0" border>体检项目</el-radio-button>
            <el-radio-button label="1" border>化验项目</el-radio-button>
          </el-radio-group>
        </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">
                <el-radio-button label="0">体检项目</el-radio-button>
                <el-radio-button label="1">化验项目</el-radio-button>
              </el-radio-group>
            </div>
          </el-col>
          <el-col :span="6">
            <div style="margin-right: 10px;display: flex ">
              <div style="margin: 10px 2px">
                <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
              </div>
              <div style="margin: 10px 5px">
                <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
              </div>
              <div style="margin: 10px 5px" v-if="tableAll.tjCategory == '02'">
                <el-button type="primary" size="mini" @click="medicalhistory()">职业病史</el-button>
              </div>
              <div style="margin: 10px 5px">
                <el-button type="primary" size="mini" @click="jianqian()">检前问诊</el-button>
              </div>
            </div>
          </el-col>
        </el-row>
      </div>
      <el-row>
@@ -204,14 +216,14 @@
                    border-collapse: collapse;
                    width: 200px;
                  " v-if="item1.project != null">
                  {{ item1.project.proName || ""  }}
                  {{ item1.project.proName || "" }}
                </td>
                <td style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-else>
                  {{ item1.proName  }}
                  {{ item1.proName }}
                </td>
                <td style="
                    border: 1px solid #dfe6ec;
@@ -225,19 +237,33 @@
                    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="
@@ -302,7 +328,7 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers">
            <div slot="footer" class="dialog-footers" v-if="tjproject == '0'">
              <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
            </div>
          </div>
@@ -527,12 +553,15 @@
        <el-button @click="jianqians = false">取 消</el-button>
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
  </div>
</template>
  
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import {
  getcheckList,
  getTjdetailList,
@@ -543,7 +572,7 @@
  getState,
  getforceIn,
  gettoPdf,
  getModified,
  getModified, isPdfOrJimu
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -552,12 +581,18 @@
import { getPdf, revoke } from "@/api/hosp/order";
import ViewPdf from "@/components/ViewPdf";
import Historicalreport from "@/components/Historicalreport";
import { getDicts } from "@/api/system/dict/data";
import {
  getTjYxjcList
} from "@/api/system/package";
import { getNewDateList } from "@/api/hosp/order";
import moment from "moment";
export default {
  components: {
    ViewPdf,
    Historicalreport,
    jianqianwenzhen,
    Packages
  },
  dicts: [
    "dict_tjtype",
@@ -573,6 +608,7 @@
  name: "checkAll",
  data() {
    return {
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
      jianqians: false,
@@ -691,8 +727,9 @@
  },
  created() {
    this.getNowTime();
    this.getList();
    // this.getNowTime();
    this.getdate();
  },
  mounted() {
@@ -701,6 +738,15 @@
    });
  },
  methods: {
    getdate() {
      getNewDateList().then((res) => {
        this.startTime = [
          moment(res.data).format("YYYY-MM-DD 00:00:00"),
          moment(res.data).format("YYYY-MM-DD 23:59:00"),
        ];
        this.getList();
      });
    },
    // / 处理默认选中当前日期
    getNowTime() {
      var curDate = new Date().getTime();
@@ -776,25 +822,77 @@
    viewReport(row) {
      const tjNumber = row.tjNumber;
      const flag = true;
      getPdf(tjNumber, flag).then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
            lock: true,
            text: "Loading",
            spinner: "el-icon-loading",
            background: "rgba(0, 0, 0, 0.7)",
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
      isPdfOrJimu(tjNumber).then((response) => {
        if (response.data.flag == "0") {
          const flag = true;
          getPdf(tjNumber, flag).then((response) => {
            if (response.size === 0) {
              const loading = this.$loading({
                lock: true,
                text: "Loading",
                spinner: "el-icon-loading",
                background: "rgba(0, 0, 0, 0.7)",
              });
              setTimeout(() => {
                loading.close();
              }, 3000);
              this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
            } else {
              this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
              this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
            }
          });
        } else {
          let url = response.data.url
          const params = { url };
          this.$tab.openPage("健康证检查表", "/report/zongjianjiankangzheng", params);
        }
      });
      })
    },
    Graphicreport() {
      let dictType = "dict_ageunit"
      getDicts(dictType).then(res => {
        if (res.code == 200) {
          res.data.forEach(item => {
            if (this.tableAll.age_unit == item.dictValue) {
              this.tableAll.age_unit = item.dictLabel
            }
          })
          let dictTypes = "sys_user_sex"
          getDicts(dictTypes).then(res => {
            if (res.code == 200) {
              res.data.forEach(item => {
                if (this.tableAll.cusSex == item.dictValue) {
                  this.tableAll.cusSex = item.dictLabel
                }
              })
              let data = {
                patname: this.tableAll.cusName,
                sex: this.tableAll.cusSex,
                patage: this.tableAll.age,
                patagename: this.tableAll.age_unit,
                patbirth: this.tableAll.cusBrithday
              }
              // let data = {
              //   patname: "脱能娥",
              //   sex: "女",
              //   patage: "60",
              //   patagename: "岁",
              //   patbirth: "1963-01-01"
              // }
              getTjYxjcList(data).then(res => {
                this.baogao = res.data
              })
              this.$refs.bbb.open = true;
              // this.$refs.bbb.getAllList();
              this.$refs.bbb.title = "报告字典";
            }
          })
        }
      })
    },
    historicalreport() {
@@ -998,23 +1096,25 @@
    },
    // 重置
    resetQuery() {
      this.startTime=[]
      this.resetForm("tableList");
      this.submitForm();
    },
    // 点击详情
    handleClick(row) {
      this.tableAll = row;
      this.tjproject = "0"
      if (this.tableAll.cusSex === 0) {
        this.tableAll.cusSex = "男";
      }
      if (this.tableAll.cusSex === 1) {
        this.tableAll.cusSex = "女";
      }
      if (this.tableAll.cusSex === 2) {
        this.tableAll.cusSex = "未知";
      }
      // if (this.tableAll.cusSex === 0) {
      //   this.tableAll.cusSex = "男";
      // }
      // if (this.tableAll.cusSex === 1) {
      //   this.tableAll.cusSex = "女";
      // }
      // if (this.tableAll.cusSex === 2) {
      //   this.tableAll.cusSex = "未知";
      // }
      this.tjNumber = this.tableAll.tjNumber;
      getState(this.tjNumber).then((res) => {
        this.status = res.data;
@@ -1032,10 +1132,10 @@
                this.drawer = true;
                getupdateCheckType(this.tjNumber).then((response) => {
                  this.changedate = response.data;
                  this.changedate.forEach((item) => {
                  if (this.changedate) {
                    this.changedate.forEach((item) => {
                    this.textarea1 = item.checkAdvice;
                  });
                  if (this.changedate) {
                    for (let i = 0; i < this.changedate.length; i++) {
                      this.remark = this.changedate[i].remark;
                    }
@@ -1121,6 +1221,7 @@
              });
            });
          this.drawer = false;
        }
      });