qinxianzhangyao
2024-03-08 1fc3fe586a17f5ddf6717f58d1fb1e5a0a9c48f7
src/views/doctor/checkAll/index.vue
@@ -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,16 @@
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";
export default {
  components: {
    ViewPdf,
    Historicalreport,
    jianqianwenzhen,
    Packages
  },
  dicts: [
    "dict_tjtype",
@@ -573,6 +606,7 @@
  name: "checkAll",
  data() {
    return {
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
      jianqians: false,
@@ -776,25 +810,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() {