qinxianzhangyao
2024-02-29 4f909fc6544de16ae06a83804e26fed6adb12ecc
qxtj
4个文件已修改
1个文件已添加
187 ■■■■ 已修改文件
src/api/doctor/checkAll.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/template/index.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jmreport/jmreport/zongjianjiankangzheng.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/checkAll.js
@@ -31,6 +31,17 @@
  })
}
export function isPdfOrJimu(tjNumber) {
  return request({
    url: '/system/report/isPdfOrJimu',
    method: 'get',
    params: {
      tjNumber: tjNumber
    }
  })
}
// 根据体检订单号获取体检详情信息(并修改状态)接口
export function getTjdetailList(data) {
  return request({
src/router/index.js
@@ -43,26 +43,26 @@
      {
        path: '/emer',
        component: () => import('@/views/system/emer/index'),
        name:'rmer',
        name: 'rmer',
        meta: { title: '知识库管理 ', icon: 'dashboard', }
      },
      {
        path: '/icd',
        component: () => import('@/views/system/icd/index'),
        name:'rmer',
        name: 'rmer',
        meta: { title: '疾病字典 ', icon: 'dashboard', }
      },
      {
        path: '/ssdm',
        component: () => import('@/views/system/ssdm/index'),
        name:'rmer',
        name: 'rmer',
        meta: { title: '知识库管理 ', icon: 'dashboard', }
      },
      {
        path: '/notice',
        component: () => import('@/views/system/notice/index'),
        name:'rmer',
        meta: { title: '通知公告 '}
        name: 'rmer',
        meta: { title: '通知公告 ' }
      },
    ]
  },
@@ -79,8 +79,8 @@
      }
    ]
  },
   // 导检单和体检报告页面标签栏
   {
  // 导检单和体检报告页面标签栏
  {
    path: '/report',
    component: Layout,
    hidden: true,
@@ -88,50 +88,56 @@
      {
        path: 'breDailyReport',
        component: () => import('@/views/jmreport/jmreport/view'),
        name:'DailyReportReport',
        meta:{title:'导检单',activeMenu:'/bre/DailyReport'},
        name: 'DailyReportReport',
        meta: { title: '导检单', activeMenu: '/bre/DailyReport' },
      },
      {
        path: 'viewReport',
        component: () => import('@/views/jmreport/jmreport/view'),
        name:'DailyReportReport',
        meta:{title:'体检报告',activeMenu:'/bre/viewReport'},
        name: 'DailyReportReport',
        meta: { title: '体检报告', activeMenu: '/bre/viewReport' },
      },
      {
        path: 'settlement',
        component: () => import('@/views/jmreport/jmreport/settlement'),
        name:'DailyReportReport',
        meta:{title:'个人结账单',activeMenu:'/bre/settlement'},
        name: 'DailyReportReport',
        meta: { title: '个人结账单', activeMenu: '/bre/settlement' },
      },
      {
        path: 'charge',
        component: () => import('@/views/jmreport/jmreport/charge'),
        name:'DailyReportReport',
        meta:{title:'收款小票',activeMenu:'/bre/charge'},
        name: 'DailyReportReport',
        meta: { title: '收款小票', activeMenu: '/bre/charge' },
      },
      {
        path: 'refund',
        component: () => import('@/views/jmreport/jmreport/refund'),
        name:'DailyReportReport',
        meta:{title:'退款小票',activeMenu:'/bre/refund'},
        name: 'DailyReportReport',
        meta: { title: '退款小票', activeMenu: '/bre/refund' },
      },
      {
        path: 'invoice',
        component: () => import('@/views/jmreport/jmreport/invoice'),
        name:'DailyReportReport',
        meta:{title:'发票',activeMenu:'/bre/invoice'},
        name: 'DailyReportReport',
        meta: { title: '发票', activeMenu: '/bre/invoice' },
      },
      {
        path: 'groupReport',
        component: () => import('@/views/jmreport/jmreport/groupReport'),
        name:'DailyReportReport',
        meta:{title:'团队报告',activeMenu:'/bre/groupReport '},
        name: 'DailyReportReport',
        meta: { title: '团队报告', activeMenu: '/bre/groupReport ' },
      },
      {
        path: 'jiankangzheng',
        component: () => import('@/views/jmreport/jmreport/jiankangzheng'),
        name:'DailyReportReport',
        meta:{title:'健康证检查表',activeMenu:'/bre/jiankangzheng '},
        name: 'DailyReportReport',
        meta: { title: '健康证检查表', activeMenu: '/bre/jiankangzheng ' },
      },
      {
        path: 'zongjianjiankangzheng',
        component: () => import('@/views/jmreport/jmreport/zongjianjiankangzheng'),
        name: 'DailyReportReport',
        meta: { title: '', activeMenu: '/bre/zongjianjiankangzheng ' },
      },
    ]
  },
@@ -140,7 +146,7 @@
    component: () => import('@/views/login'),
    hidden: true
  },
  {
    path: '/register',
    component: () => import('@/views/register'),
@@ -156,7 +162,7 @@
    component: () => import('@/views/error/401'),
    hidden: true
  },
  {
    path: '',
    component: Layout,
@@ -191,7 +197,7 @@
        component: () => import('@/views/system/dict/index'),
        hidden: true
      },
      {
        path: 'profile',
        component: () => import('@/views/system/user/profile/index'),
@@ -341,7 +347,7 @@
  //     }
  //   ]
  // },
  {
    path: '/hosp',
    component: Layout,
@@ -352,12 +358,13 @@
        path: 'datacomparison',
        component: () => import('@/views/hosp/datacomparison/index'),
        name: 'Contrast',
        meta: { title: '数据对比', keepAlive: false
      }
        meta: {
          title: '数据对比', keepAlive: false
        }
      }
    ]
  },
]
// 防止连续点击多次路由报错
src/views/doctor/checkAll/index.vue
@@ -554,6 +554,7 @@
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
  </div>
</template>
  
@@ -571,7 +572,7 @@
  getState,
  getforceIn,
  gettoPdf,
  getModified,
  getModified, isPdfOrJimu
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -589,7 +590,7 @@
    ViewPdf,
    Historicalreport,
    jianqianwenzhen,
   Packages
    Packages
  },
  dicts: [
    "dict_tjtype",
@@ -809,25 +810,34 @@
    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() {
src/views/hosp/template/index.vue
@@ -60,10 +60,13 @@
          ></el-switch>
        </template>
      </el-table-column>
      <el-table-column label="生成类型" align="center" prop="print" />
      <el-table-column label="地址" align="center" prop="url" />
      <el-table-column label="更新人" align="center" prop="updateBy" />
      <el-table-column label="更新时间" align="center" prop="updateTime" />
      <el-table-column label="创建时间" align="center" prop="createTime" />
      <el-table-column label="创建人" align="center" prop="createBy" />
      <el-table-column
        label="操作"
        align="center"
@@ -100,11 +103,17 @@
        <el-form-item label="描述" prop="remark">
          <el-input v-model="form.remark" placeholder="请输入描述" />
        </el-form-item>
        <el-form-item label="模板类型" prop="flag">
          <el-select v-model="form.flag" placeholder="请选择模板类型" clearable>
        <el-form-item label="模板类型" prop="flag" >
          <el-select v-model="form.flag" placeholder="请选择模板类型" clearable disabled>
          <el-option v-for="dict in dict.type.report_template_type" :key="dict.value" :label="dict.label" :value="dict.value" />
        </el-select>
        </el-form-item>
        <el-form-item label="生成类型" prop="print" >
          <el-input v-model="form.print" placeholder="请输入描述" disabled/>
        </el-form-item>
        <el-form-item label="地址" prop="url" v-if="form.print == '报表'">
          <el-input v-model="form.url" placeholder="请输入描述" />
        </el-form-item>
        <!-- <el-form-item label="模板状态" prop="open">
          <el-switch
            v-model="form.open"
src/views/jmreport/jmreport/zongjianjiankangzheng.vue
New file
@@ -0,0 +1,48 @@
<template>
  <div v-loading="loading" :style="'height:' + height" class="app-container">
    <!-- <el-row style="margin-bottom: 10px;">
        <el-col :span="1.5">
          <el-button type="primary" plain icon="el-icon-refresh-right" size="mini" @click="handleRefresh">刷新</el-button>
        </el-col>
      </el-row> -->
    <iframe :src="src" id="reportView" frameborder="no" style="width: 100%; height: 100%" scrolling="auto" />
  </div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
  name: "Ureport",
  data() {
    return {
      src: "",
      height: document.documentElement.clientHeight - 94.5 + "px;",
      loading: true,
    };
  },
  created() {
    console.log(this.$route.query)
    this.src =
      this.$route.query.url +
      "&token=Bearer " +
      getToken();
  },
  methods: {
    handleRefresh() {
      document.getElementById("reportView").src =
        document.getElementById("reportView").src;
    },
  },
  mounted: function () {
    setTimeout(() => {
      this.loading = false;
    }, 230);
    const that = this;
    window.onresize = function temp() {
      that.height = document.documentElement.clientHeight - 94.5 + "px;";
    };
  },
};
</script>