qx
2023-12-15 708a208e87e4e580d7a80c7f8b2c11f25dec7ff2
qxtj
12个文件已修改
4733 ■■■■ 已修改文件
babel.config.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/index.vue 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/check/index.vue 815 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 947 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/imaging/index.vue 770 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/project/index.vue 853 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/picture/music/index.vue 183 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/dept/index.vue 333 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/package/index.vue 540 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
babel.config.js
@@ -1,13 +1,23 @@
module.exports = {
  presets: [
    // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
    '@vue/cli-plugin-babel/preset'
    [
      "@vue/app",
      {
        polyfills: [
          "es6.promise",
          "es6.symbol",
          "es6.array.iterator",
          "es6.object.assign",
        ],
        useBuiltIns: "entry",
      },
    ],
  ],
  'env': {
    'development': {
  env: {
    development: {
      // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
      // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
      'plugins': ['dynamic-import-node']
    }
  }
}
      plugins: ["dynamic-import-node"],
    },
  },
};
package.json
@@ -38,6 +38,7 @@
  "dependencies": {
    "@riophae/vue-treeselect": "0.4.0",
    "axios": "0.24.0",
    "babel-polyfill": "^6.26.0",
    "clipboard": "2.0.8",
    "core-js": "3.25.3",
    "echarts": "4.9.0",
src/layout/components/TagsView/index.vue
@@ -1,36 +1,60 @@
<template>
  <div id="tags-view-container" class="tags-view-container">
    <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
    <scroll-pane
      ref="scrollPane"
      class="tags-view-wrapper"
      @scroll="handleScroll"
    >
      <router-link
        v-for="tag in visitedViews"
        ref="tag"
        :key="tag.path"
        :class="isActive(tag)?'active':''"
        :class="isActive(tag) ? 'active' : ''"
        :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
        tag="span"
        class="tags-view-item"
        :style="activeStyle(tag)"
        @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
        @contextmenu.prevent.native="openMenu(tag,$event)"
        @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''"
        @contextmenu.prevent.native="openMenu(tag, $event)"
      >
        {{ tag.title }}
        <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
        <span
          v-if="!isAffix(tag)"
          class="el-icon-close"
          @click.prevent.stop="closeSelectedTag(tag)"
        />
      </router-link>
    </scroll-pane>
    <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
      <li @click="refreshSelectedTag(selectedTag)"><i class="el-icon-refresh-right"></i> 刷新页面</li>
      <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)"><i class="el-icon-close"></i> 关闭当前</li>
      <li @click="closeOthersTags"><i class="el-icon-circle-close"></i> 关闭其他</li>
      <li v-if="!isFirstView()" @click="closeLeftTags"><i class="el-icon-back"></i> 关闭左侧</li>
      <li v-if="!isLastView()" @click="closeRightTags"><i class="el-icon-right"></i> 关闭右侧</li>
      <li @click="closeAllTags(selectedTag)"><i class="el-icon-circle-close"></i> 全部关闭</li>
    <ul
      v-show="visible"
      :style="{ left: left + 'px', top: top + 'px' }"
      class="contextmenu"
    >
      <li @click="refreshSelectedTag(selectedTag)">
        <i class="el-icon-refresh-right"></i> 刷新页面
      </li>
      <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
        <i class="el-icon-close"></i> 关闭当前
      </li>
      <li @click="closeOthersTags">
        <i class="el-icon-circle-close"></i> 关闭其他
      </li>
      <li v-if="!isFirstView()" @click="closeLeftTags">
        <i class="el-icon-back"></i> 关闭左侧
      </li>
      <li v-if="!isLastView()" @click="closeRightTags">
        <i class="el-icon-right"></i> 关闭右侧
      </li>
      <li @click="closeAllTags(selectedTag)">
        <i class="el-icon-circle-close"></i> 全部关闭
      </li>
    </ul>
  </div>
</template>
<script>
import ScrollPane from './ScrollPane'
import path from 'path'
import ScrollPane from "./ScrollPane";
import path from "path";
export default {
  components: { ScrollPane },
@@ -40,201 +64,207 @@
      top: 0,
      left: 0,
      selectedTag: {},
      affixTags: []
    }
      affixTags: [],
    };
  },
  computed: {
    visitedViews() {
      return this.$store.state.tagsView.visitedViews
      return this.$store.state.tagsView.visitedViews;
    },
    routes() {
      return this.$store.state.permission.routes
      return this.$store.state.permission.routes;
    },
    theme() {
      return this.$store.state.settings.theme;
    }
    },
  },
  watch: {
    $route() {
      this.addTags()
      this.moveToCurrentTag()
      this.addTags();
      this.moveToCurrentTag();
    },
    visible(value) {
      if (value) {
        document.body.addEventListener('click', this.closeMenu)
        document.body.addEventListener("click", this.closeMenu);
      } else {
        document.body.removeEventListener('click', this.closeMenu)
        document.body.removeEventListener("click", this.closeMenu);
      }
    }
    },
  },
  mounted() {
    this.initTags()
    this.addTags()
    this.initTags();
    this.addTags();
  },
  methods: {
    isActive(route) {
      return route.path === this.$route.path
      return route.path === this.$route.path;
    },
    activeStyle(tag) {
      if (!this.isActive(tag)) return {};
      return {
        "background-color": this.theme,
        "border-color": this.theme
        "border-color": this.theme,
      };
    },
    isAffix(tag) {
      return tag.meta && tag.meta.affix
      return tag.meta && tag.meta.affix;
    },
    isFirstView() {
      try {
        return this.selectedTag.fullPath === this.visitedViews[1].fullPath || this.selectedTag.fullPath === '/index'
        return (
          this.selectedTag.fullPath === this.visitedViews[1].fullPath ||
          this.selectedTag.fullPath === "/index"
        );
      } catch (err) {
        return false
        return false;
      }
    },
    isLastView() {
      try {
        return this.selectedTag.fullPath === this.visitedViews[this.visitedViews.length - 1].fullPath
        return (
          this.selectedTag.fullPath ===
          this.visitedViews[this.visitedViews.length - 1].fullPath
        );
      } catch (err) {
        return false
        return false;
      }
    },
    filterAffixTags(routes, basePath = '/') {
      let tags = []
      routes.forEach(route => {
    filterAffixTags(routes, basePath = "/") {
      let tags = [];
      routes.forEach((route) => {
        if (route.meta && route.meta.affix) {
          const tagPath = path.resolve(basePath, route.path)
          const tagPath = path.resolve(basePath, route.path);
          tags.push({
            fullPath: tagPath,
            path: tagPath,
            name: route.name,
            meta: { ...route.meta }
          })
            meta: { ...route.meta },
          });
        }
        if (route.children) {
          const tempTags = this.filterAffixTags(route.children, route.path)
          const tempTags = this.filterAffixTags(route.children, route.path);
          if (tempTags.length >= 1) {
            tags = [...tags, ...tempTags]
            tags = [...tags, ...tempTags];
          }
        }
      })
      return tags
      });
      return tags;
    },
    initTags() {
      const affixTags = this.affixTags = this.filterAffixTags(this.routes)
      const affixTags = (this.affixTags = this.filterAffixTags(this.routes));
      for (const tag of affixTags) {
        // Must have tag name
        if (tag.name) {
          this.$store.dispatch('tagsView/addVisitedView', tag)
          this.$store.dispatch("tagsView/addVisitedView", tag);
        }
      }
    },
    addTags() {
      const { name } = this.$route
      const { name } = this.$route;
      if (name) {
        this.$store.dispatch('tagsView/addView', this.$route)
        this.$store.dispatch("tagsView/addView", this.$route);
        if (this.$route.meta.link) {
          this.$store.dispatch('tagsView/addIframeView', this.$route)
          this.$store.dispatch("tagsView/addIframeView", this.$route);
        }
      }
      return false
      return false;
    },
    moveToCurrentTag() {
      const tags = this.$refs.tag
      const tags = this.$refs.tag;
      this.$nextTick(() => {
        for (const tag of tags) {
          if (tag.to.path === this.$route.path) {
            this.$refs.scrollPane.moveToTarget(tag)
            this.$refs.scrollPane.moveToTarget(tag);
            // when query is different then update
            if (tag.to.fullPath !== this.$route.fullPath) {
              this.$store.dispatch('tagsView/updateVisitedView', this.$route)
              this.$store.dispatch("tagsView/updateVisitedView", this.$route);
            }
            break
            break;
          }
        }
      })
      });
    },
    refreshSelectedTag(view) {
      this.$tab.refreshPage(view);
      if (this.$route.meta.link) {
        this.$store.dispatch('tagsView/delIframeView', this.$route)
        this.$store.dispatch("tagsView/delIframeView", this.$route);
      }
    },
    closeSelectedTag(view) {
      this.$tab.closePage(view).then(({ visitedViews }) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view)
          this.toLastView(visitedViews, view);
        }
      })
      });
    },
    closeRightTags() {
      this.$tab.closeRightPage(this.selectedTag).then(visitedViews => {
        if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {
          this.toLastView(visitedViews)
      this.$tab.closeRightPage(this.selectedTag).then((visitedViews) => {
        if (!visitedViews.find((i) => i.fullPath === this.$route.fullPath)) {
          this.toLastView(visitedViews);
        }
      })
      });
    },
    closeLeftTags() {
      this.$tab.closeLeftPage(this.selectedTag).then(visitedViews => {
        if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {
          this.toLastView(visitedViews)
      this.$tab.closeLeftPage(this.selectedTag).then((visitedViews) => {
        if (!visitedViews.find((i) => i.fullPath === this.$route.fullPath)) {
          this.toLastView(visitedViews);
        }
      })
      });
    },
    closeOthersTags() {
      this.$router.push(this.selectedTag).catch(()=>{});
      this.$router.push(this.selectedTag).catch(() => {});
      this.$tab.closeOtherPage(this.selectedTag).then(() => {
        this.moveToCurrentTag()
      })
        this.moveToCurrentTag();
      });
    },
    closeAllTags(view) {
      this.$tab.closeAllPage().then(({ visitedViews }) => {
        if (this.affixTags.some(tag => tag.path === this.$route.path)) {
          return
        if (this.affixTags.some((tag) => tag.path === this.$route.path)) {
          return;
        }
        this.toLastView(visitedViews, view)
      })
        this.toLastView(visitedViews, view);
      });
    },
    toLastView(visitedViews, view) {
      const latestView = visitedViews.slice(-1)[0]
      const latestView = visitedViews.slice(-1)[0];
      if (latestView) {
        this.$router.push(latestView.fullPath)
        this.$router.push(latestView.fullPath);
      } else {
        // now the default is to redirect to the home page if there is no tags-view,
        // you can adjust it according to your needs.
        if (view.name === 'Dashboard') {
        if (view.name === "Dashboard") {
          // to reload home page
          this.$router.replace({ path: '/redirect' + view.fullPath })
          this.$router.replace({ path: "/redirect" + view.fullPath });
        } else {
          this.$router.push('/')
          this.$router.push("/");
        }
      }
    },
    openMenu(tag, e) {
      const menuMinWidth = 105
      const offsetLeft = this.$el.getBoundingClientRect().left // container margin left
      const offsetWidth = this.$el.offsetWidth // container width
      const maxLeft = offsetWidth - menuMinWidth // left boundary
      const left = e.clientX - offsetLeft + 15 // 15: margin right
      const menuMinWidth = 105;
      const offsetLeft = this.$el.getBoundingClientRect().left; // container margin left
      const offsetWidth = this.$el.offsetWidth; // container width
      const maxLeft = offsetWidth - menuMinWidth; // left boundary
      const left = e.clientX - offsetLeft + 15; // 15: margin right
      if (left > maxLeft) {
        this.left = maxLeft
        this.left = maxLeft;
      } else {
        this.left = left
        this.left = left;
      }
      this.top = e.clientY
      this.visible = true
      this.selectedTag = tag
      this.left = e.clientX - 50;
      this.top = e.clientY;
      this.visible = true;
      this.selectedTag = tag;
    },
    closeMenu() {
      this.visible = false
      this.visible = false;
    },
    handleScroll() {
      this.closeMenu()
    }
  }
}
      this.closeMenu();
    },
  },
};
</script>
<style lang="scss" scoped>
@@ -243,10 +273,10 @@
  width: 100%;
  background: #f1f3f4;
  border-bottom: 1px solid #d8dce5;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
  .tags-view-wrapper {
    .tags-view-item {
      border-radius:3px;
      border-radius: 3px;
      display: inline-block;
      position: relative;
      cursor: pointer;
@@ -271,10 +301,10 @@
        border-color: #42b983;
        border-radius: 6px;
        // hhh
        background:#ffffff !important;
        background: #ffffff !important;
        border-color: #ffffff !important;
        &::before {
          content: '';
          content: "";
          background: #fff;
          display: inline-block;
          width: 8px;
@@ -297,7 +327,7 @@
    font-size: 12px;
    font-weight: 400;
    color: #333;
    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
    li {
      margin: 0;
      padding: 7px 16px;
@@ -320,10 +350,10 @@
      vertical-align: 2px;
      border-radius: 50%;
      text-align: center;
      transition: all .3s cubic-bezier(.645, .045, .355, 1);
      transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
      transform-origin: 100% 50%;
      &:before {
        transform: scale(.6);
        transform: scale(0.6);
        display: inline-block;
        vertical-align: -3px;
      }
src/main.js
@@ -1,7 +1,7 @@
import Vue from "vue";
import Cookies from "js-cookie";
import "babel-polyfill";
import Element from "element-ui";
import "./assets/styles/element-variables.scss";
@@ -13,11 +13,11 @@
import directive from "./directive"; // directive
import plugins from "./plugins"; // plugins
import { download } from "@/utils/request";
import Print from 'vue-print-nb'
import Print from "vue-print-nb";
import JsonExcel from 'vue-json-excel';
Vue.component('downloadExcel', JsonExcel);
import JsonExcel from "vue-json-excel";
Vue.component("downloadExcel", JsonExcel);
import "./assets/icons"; // icon
import "./permission"; // permission control
@@ -73,8 +73,8 @@
Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree;
Vue.prototype.$echarts = echarts;
import VueBarcode from 'vue-barcode';
Vue.component('barcode',VueBarcode);
import VueBarcode from "vue-barcode";
Vue.component("barcode", VueBarcode);
// 全局组件挂载
Vue.component("DictTag", DictTag);
Vue.component("Pagination", Pagination);
src/views/doctor/check/index.vue
@@ -1,31 +1,70 @@
<template>
  <div>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
    <el-form
      :model="queryParams"
      ref="tableList"
      :inline="true"
      label-width="76px"
      style="margin-top: 10px"
    >
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable
          @keyup.enter.native="handleQuery"></el-input>
        <el-input
          v-model="queryParams.name"
          style="width: 116px"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号"></el-input>
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          style="width: 240px"
          placeholder="请输入体检号"
        ></el-input>
      </el-form-item>
      <el-form-item>
        <el-button size="mini" type="primary" @click="submitForm">搜索</el-button>
        <el-button size="mini" type="primary" @click="submitForm"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <div style="display: flex;">
      <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
    <div style="display: flex">
      <el-radio-group
        v-model="tjStatus"
        @input="radioChange"
        style="margin-left: 30px"
      >
        <el-radio-button label="0">未检</el-radio-button>
        <el-radio-button label="1">已检</el-radio-button>
      </el-radio-group>
    </div>
    <template>
      <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" border
        :cell-class-name="myclass">
      <el-table
        :data="tableList"
        v-loading="loading"
        ref="table"
        height="536px"
        style="margin: 20px; width: 98%"
        border
        :cell-class-name="myclass"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" />
        <el-table-column label="姓名" align="center" prop="cusName" width="90px" />
        <el-table-column
          label="体检号"
          align="center"
          prop="tjNumber"
          width="160px"
        />
        <el-table-column
          label="姓名"
          align="center"
          prop="cusName"
          width="90px"
        />
        <el-table-column label="性别" align="center" prop="cusSex" width="60px">
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
@@ -34,62 +73,139 @@
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" />
        <el-table-column label="电话" align="center" prop="cusPhone" width="100px" />
        <el-table-column label="体检类型" align="center" prop="tjType" width="80px" />
        <el-table-column label="登记时间" align="center" prop="tjTime" width="160px">
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          width="100px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          width="100px"
        />
        <el-table-column
          label="体检类型"
          align="center"
          prop="tjType"
          width="80px"
        />
        <el-table-column
          label="登记时间"
          align="center"
          prop="tjTime"
          width="160px"
        >
        </el-table-column>
        <el-table-column label="体检时间" align="center" prop="tjTime" width="100px">
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          width="100px"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.tjTime, '{y}-{m}-{d}') }}</span>
            <span>{{ parseTime(scope.row.tjTime, "{y}-{m}-{d}") }}</span>
          </template>
        </el-table-column>
        <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" />
        <el-table-column
          label="未检项"
          prop="notCheckeds"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="操作" align="center" width="130px">
          <template slot-scope="scope">
            <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)"
              title="会诊申请" v-if="tjStatus == '1'"></el-button>
            <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)"
              title="详情"></el-button>
            <el-button
              type="primary"
              icon="el-icon-first-aid-kit"
              size="mini"
              @click="Changeapplyfor(scope.row)"
              title="会诊申请"
              v-if="tjStatus == '1'"
            ></el-button>
            <el-button
              type="primary"
              icon="el-icon-share"
              size="mini"
              @click="handleClick(scope.row)"
              title="详情"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
            @pagination="getList" />
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </div>
    </template>
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1000px"
      append-to-body
    >
      <el-row>
        <el-col :span="9" v-if="hzlogList.length >= 1">
          <h3>会诊申请记录</h3>
          <el-table :data="hzlogList" style="width: 100%" border>
            <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
            <el-table-column
              label="申请人"
              align="center"
              prop="hzDoctorName"
              width="100px"
            />
            <el-table-column label="科室" align="center" prop="hzDeptName" />
            <el-table-column label="操作" align="center" width="150px">
              <template slot-scope="scope">
                <el-button type="primary" size="mini" @click="hadleedit(scope.row)"
                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">修改</el-button>
                <el-button type="primary" size="mini"
                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId"
                  @click="handledele(scope.row)">删除</el-button>
                <el-button
                  type="primary"
                  size="mini"
                  @click="hadleedit(scope.row)"
                  v-if="
                    scope.row.hzReplyLogsList.length == 0 &&
                    scope.row.hzDoctorId == info.userId
                  "
                  >修改</el-button
                >
                <el-button
                  type="primary"
                  size="mini"
                  v-if="
                    scope.row.hzReplyLogsList.length == 0 &&
                    scope.row.hzDoctorId == info.userId
                  "
                  @click="handledele(scope.row)"
                  >删除</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </el-col>
        <el-col :span="14">
          <h3 style="text-align: center;">会诊记录申请</h3>
          <h3 style="text-align: center">会诊记录申请</h3>
          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
            <el-form-item label="姓名" prop="cusName">
              <el-input v-model="form.cusName" placeholder="请输入姓名" disabled />
              <el-input
                v-model="form.cusName"
                placeholder="请输入姓名"
                disabled
              />
            </el-form-item>
            <el-form-item label="体检号" prop="tjNumber">
              <el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled />
              <el-input
                v-model="form.tjNumber"
                placeholder="请输入体检号"
                disabled
              />
            </el-form-item>
            <el-form-item label="会诊科室" prop="hzType">
              <el-radio-group v-model="form.hzType">
@@ -98,14 +214,33 @@
              </el-radio-group>
            </el-form-item>
            <el-form-item label="选择科室" v-if="form.hzType == '1'">
              <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%">
                <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
                  :value="item.deptId"></el-option>
              <el-select
                v-model="form.hzDeptId"
                multiple
                filterable
                style="width: 100%"
              >
                <el-option
                  v-for="item in deptList"
                  :key="item.deptId"
                  :label="item.deptName"
                  :value="item.deptId"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="申请人" prop="hzDoctorId">
              <el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable>
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
              <el-select
                v-model="form.hzDoctorId"
                placeholder="请选择"
                style="width: 100%"
                filterable
              >
                <el-option
                  v-for="item in userList"
                  :key="item.userId"
                  :label="item.nickName"
                  :value="item.userId"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -122,29 +257,58 @@
      </div>
    </el-dialog>
    <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="foropen"
      width="1000px"
      append-to-body
    >
      <el-row>
        <el-col :span="8" v-if="hasdeptList.length >= 1">
          <h3 style="text-align: center;">会诊申请记录</h3>
          <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange">
          <h3 style="text-align: center">会诊申请记录</h3>
          <el-table
            :data="hasdeptList"
            style="width: 100%"
            border
            ref="tab"
            @selection-change="handleSelectionChange"
          >
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
            <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" />
            <el-table-column
              label="申请人"
              align="center"
              prop="hzDoctorName"
              width="100px"
            />
            <el-table-column
              label="科室"
              align="center"
              prop="hzDeptName"
              width="260px"
            />
          </el-table>
        </el-col>
        <el-col :span="16" style="padding: 0 10px;">
          <h3 style="text-align: center;">会诊意见</h3>
          <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;">
            <div v-for="(item, index) in hzReplyLogsList" :key="index"
              style="padding-bottom:5px;border-bottom: 1px solid black;">
        <el-col :span="16" style="padding: 0 10px">
          <h3 style="text-align: center">会诊意见</h3>
          <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px">
            <div
              v-for="(item, index) in hzReplyLogsList"
              :key="index"
              style="padding-bottom: 5px; border-bottom: 1px solid black"
            >
              <!-- <div>会诊科室:{{ item.replyDeptName }}</div> -->
              <div> 医生:{{ item.hzDoctorName }} </div>
              <div>医生:{{ item.hzDoctorName }}</div>
              <div>回复:{{ item.replyContent }}</div>
            </div>
          </div>
          <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea">
          <el-input
            type="textarea"
            :rows="2"
            placeholder="请输入内容"
            v-model="textarea"
          >
          </el-input>
          <div style="padding: 10px 10px;">
          <div style="padding: 10px 10px">
            <el-button type="primary" @click="submitFormreply">回复</el-button>
          </div>
        </el-col>
@@ -155,7 +319,12 @@
      </div> -->
    </el-dialog>
    <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body>
    <el-dialog
      title="填写是否重大阳性"
      :visible.sync="checkval"
      width="800px"
      append-to-body
    >
      <el-form ref="form" :model="formIn" label-width="100px">
        <el-form-item label="姓名">
          <el-input v-model="formIn.cusName" disabled></el-input>
@@ -176,8 +345,18 @@
          </el-radio-group>
        </el-form-item>
        <el-form-item label="等级">
          <el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%;">
            <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value">
          <el-select
            v-model="formIn.level"
            placeholder="请选择"
            filterable
            style="width: 100%"
          >
            <el-option
              v-for="item in dict.type.lj_positive"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item>
@@ -191,17 +370,31 @@
      </div>
    </el-dialog>
    <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
    <el-dialog
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
      <div class="main">
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
      </div>
    </el-dialog>
    <!-- 点击右边弹出层 -->
    <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
    <el-drawer
      :visible.sync="drawer"
      :with-header="false"
      size="70%"
      :before-close="handleClose"
    >
      <div style="font-size: 14px">
        <table style="
        <table
          style="
            width: 96%;
            height:70px
            margin: 10px 10px;
@@ -209,14 +402,19 @@
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
            font-size:16px
          " cellspacing="4">
          "
          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" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              姓名:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -228,7 +426,10 @@
                <span v-if="scope.row.cusSex == '9'">未说明性别</span>
              </template>
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -236,13 +437,19 @@
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              体检单号:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.tjNumber }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              体检时间:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -251,12 +458,16 @@
          </tr>
        </table>
      </div>
      <div style="display: flex;">
        <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button>
      <div style="display: flex">
        <div style="margin: 10px 10px" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()"
            >会诊申请</el-button
          >
        </div>
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        <div style="margin: 10px 10px">
          <el-button type="primary" size="mini" @click="historicalreport()"
            >历史报告</el-button
          >
        </div>
      </div>
@@ -264,30 +475,54 @@
        <el-col :span="18">
          <template>
            <div style="margin-left: 10px">
              <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
                @input="radioChange1(item.proId, item)">
              <el-radio-group
                v-model="radio"
                v-for="(item, index) in Parent"
                :key="index"
                @input="radioChange1(item.proId, item)"
              >
                <el-radio-button :label="item.proId">{{
                  item.proName
                }}</el-radio-button>
              </el-radio-group>
            </div>
          </template>
          <el-table v-loading="loading" :data="proParentList.sons" border height="460px"
            style="width: 96%; margin: 10px 10px">
            <el-table-column prop="project.proName" label="检测项目" width="150">
          <el-table
            v-loading="loading"
            :data="proParentList.sons"
            border
            height="460px"
            style="width: 96%; margin: 10px 10px"
          >
            <el-table-column
              prop="project.proName"
              label="检测项目"
              width="150"
            >
              <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
            </el-table-column>
            <el-table-column prop="proResult" label="检测结果" width="280">
            <el-table-column prop="proResult" label="检测结果" width="200">
              <template slot-scope="scope">
                <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="请输入检测结果"
                  @blur="handleInputConfirm(scope.row)" @input="vale" @focus="handleInConfirm(scope.row)"></el-input>
                <el-input
                  type="textarea"
                  autosize
                  size="mini"
                  v-model="scope.row.proResult"
                  autocomplete="off"
                  placeholder="请输入检测结果"
                  @blur="handleInputConfirm(scope.row)"
                  @input="vale"
                  @focus="handleInConfirm(scope.row)"
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column label="规则" width="55">
              <template slot-scope="scope">
                <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
                <el-button class="blue-button" @click="handleguize(scope.row)"
                  >...</el-button
                >
              </template>
            </el-table-column>
            <el-table-column prop="project.proMetering" label="单位">
@@ -297,71 +532,138 @@
            </el-table-column>
            <el-table-column prop="project.proScope" label="参考范围">
            </el-table-column>
            <el-table-column prop="conclusion" label="结果结论" width="280">
            <el-table-column prop="conclusion" label="结果结论" width="200">
              <template slot-scope="scope">
                <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入检测结果"
                  disabled></el-input>
                <el-input
                  size="mini"
                  type="textarea"
                  autosize
                  v-model="scope.row.conclusion"
                  autocomplete="off"
                  placeholder="请输入检测结果"
                  disabled
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center">
            <el-table-column
              prop="exceptionDesc"
              label="是否异常"
              width="80px"
              align="center"
            >
              <template slot-scope="scope">
                <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
              </template>
            </el-table-column>
            <el-table-column prop="isReturn" label="是否复诊" width="80px" align="center">
            <el-table-column
              prop="isReturn"
              label="是否复诊"
              width="80px"
              align="center"
            >
              <template slot-scope="scope">
                <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
              </template>
            </el-table-column>
            <el-table-column prop="project.resultType" label="结果类型">
              <template slot-scope="scope">
                <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
                <dict-tag
                  :options="dict.type.tj_result_type"
                  :value="scope.row.project.resultType"
                />
              </template>
            </el-table-column>
            <el-table-column prop="isPositive" label="重大阳性">
              <template slot-scope="scope">
                <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
                  @change="checkboxchange(scope.row)"></el-switch>
                <el-switch
                  v-model="scope.row.isPositive"
                  active-value="1"
                  inactive-value="0"
                  @change="checkboxchange(scope.row)"
                ></el-switch>
              </template>
            </el-table-column>
          </el-table>
          <div style="font-size: 14px; overflow-y: auto; height: 286px">
            <table style="
            width: 96%;
            margin: 4px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          " cellspacing="4">
            <table
              style="
                width: 96%;
                margin: 4px 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
              "
              cellspacing="4"
            >
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                <td 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">
                  <el-select v-model="value" multiple placeholder="请选择" style="width: 100%; height: 45px"
                    v-if="deptAdviceList" @change="sel" filterable>
                    <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id">
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  <el-select
                    v-model="value"
                    multiple
                    placeholder="请选择"
                    style="width: 100%; height: 45px"
                    v-if="deptAdviceList"
                    @change="sel"
                    filterable
                  >
                    <el-option
                      v-for="item in deptAdviceList"
                      :key="item.id"
                      :label="item.title"
                      :value="item.id"
                    >
                    </el-option>
                  </el-select>
                </td>
                <td 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">
                  <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
                    @change="selName" filterable>
                    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                >
                  <el-select
                    v-model="doctorName"
                    placeholder="请选择"
                    style="width: 100%"
                    v-if="deptAdviceList"
                    @change="selName"
                    filterable
                  >
                    <el-option
                      v-for="item in userList"
                      :key="item.userId"
                      :label="item.nickName"
                      :value="item.userId"
                    >
                    </el-option>
                  </el-select>
                </td>
              </tr>
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                <td 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" colspan="2">
                  <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
                <td
                  style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  colspan="2"
                >
                  <el-input
                    type="textarea"
                    placeholder="请输入内容"
                    v-model="proParentList.remark"
                    rows="7"
                  >
                  </el-input>
                </td>
              </tr>
@@ -374,12 +676,19 @@
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
              <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
              <el-button
                type="primary"
                @click="determine"
                v-show="tjStatus == '0'"
                >提 交</el-button
              >
            </div>
          </div>
        </el-col>
        <el-col :span="6">
          <Historicalreport :reportHistorydata="reportHistorydata"></Historicalreport>
          <Historicalreport
            :reportHistorydata="reportHistorydata"
          ></Historicalreport>
        </el-col>
      </el-row>
@@ -442,14 +751,10 @@
  getParentList,
  getParentId,
  getDeptAdvice,
  reportHistory
  reportHistory,
} from "@/api/doctor/check";
import {
  addBigPositive
} from "@/api/doctor/bigPositive";
import {
  addReplylog, hzHasDept
} from "@/api/hosp/replylog";
import { addBigPositive } from "@/api/doctor/bigPositive";
import { addReplylog, hzHasDept } from "@/api/hosp/replylog";
import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog";
import { listUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
@@ -500,9 +805,9 @@
      info: {},
      allList: [],
      autorule: [],
      vals:{},
      vals: {},
      form: {
        createTime: new Date()
        createTime: new Date(),
      },
      // 医生
      doctorName: "",
@@ -546,10 +851,8 @@
        name: null,
      },
      rules: {
        hzType: [
          { required: true, message: '', trigger: 'change' }
        ]
      }
        hzType: [{ required: true, message: "", trigger: "change" }],
      },
    };
  },
@@ -586,7 +889,7 @@
        }
      );
      getInfo().then((response) => {
        this.info = response.user
        this.info = response.user;
        this.deptId = response.user.deptId;
        this.userId = response.user.userId;
        this.nickName = response.user.nickName;
@@ -607,7 +910,7 @@
    myclass(row, column, rowIndex, columnIndex) {
      if (row.row.isPositive == 1) {
        return "setclass"
        return "setclass";
      }
    },
    // 小结获取备注
@@ -656,46 +959,43 @@
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyNum: this.proResult
        }
        AutoGetRule(data).then(res => {
          this.focusrow.conclusion = ""
          keyNum: this.proResult,
        };
        AutoGetRule(data).then((res) => {
          this.focusrow.conclusion = "";
          if (res.data) {
            this.autorule = res.data
            this.autorule = res.data;
            this.focusrow.rulesList = this.autorule;
            this.autorule.forEach(item => {
            this.autorule.forEach((item) => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
              } else {
                this.focusrow.conclusion = item.bingzhong;
              }
            })
            });
          }
        })
        });
      } else {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyWord: this.proResult
        }
        AutoGetRule(data).then(res => {
          this.focusrow.conclusion = ""
          keyWord: this.proResult,
        };
        AutoGetRule(data).then((res) => {
          this.focusrow.conclusion = "";
          if (res.data) {
            this.autorule = res.data
            this.autorule = res.data;
            this.focusrow.rulesList = this.autorule;
            this.autorule.forEach(item => {
            this.autorule.forEach((item) => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
              } else {
                this.focusrow.conclusion = item.bingzhong;
              }
            })
            });
          }
        })
        });
      }
      // this.$refs.aaa.open = true;
      // this.$refs.aaa.getList();
@@ -730,7 +1030,6 @@
            this.tableList = [];
          }
        }
      });
    },
@@ -748,7 +1047,6 @@
            this.tableList = [];
          }
        }
      });
    },
@@ -791,97 +1089,97 @@
    Changeapplyfor(row) {
      this.open = true;
      this.form = row
      this.form = row;
      this.form.hzDoctorId = this.info.userId;
      getChildList().then(res => {
      getChildList().then((res) => {
        this.deptList = res.data;
      })
      this.Hzlog(this.form.tjNumber)
      });
      this.Hzlog(this.form.tjNumber);
    },
    checkboxchange(val) {
      this.vals = val
      this.project = val.project
      this.formIn.tjNumber = this.tableAll.tjNumber
      this.formIn.cusId = this.tableAll.cusId
      this.formIn.cusName = this.tableAll.cusName
      this.formIn.proId = this.project.proId
      this.formIn.proName = this.project.proName
      this.formIn.orderId = val.orderId
      this.Parent.forEach(item => {
      this.vals = val;
      this.project = val.project;
      this.formIn.tjNumber = this.tableAll.tjNumber;
      this.formIn.cusId = this.tableAll.cusId;
      this.formIn.cusName = this.tableAll.cusName;
      this.formIn.proId = this.project.proId;
      this.formIn.proName = this.project.proName;
      this.formIn.orderId = val.orderId;
      this.Parent.forEach((item) => {
        if (this.radio == item.proId) {
          this.Parentcheck.proName = item.proName
          this.formIn.proParentId = item.proId
          this.Parentcheck.proName = item.proName;
          this.formIn.proParentId = item.proId;
        }
      })
      });
      if (val.isPositive == "1") {
        this.checkval = true;
        this.formIn.flag = "0"
       this.formIn.level=""
        this.formIn.flag = "0";
        this.formIn.level = "";
      } else {
        this.formIn.flag = "0"
        addBigPositive(this.formIn).then(res => {
        this.formIn.flag = "0";
        addBigPositive(this.formIn).then((res) => {
          this.$modal.msgSuccess("删除成功");
          this.getParentIdsss()
        })
          this.getParentIdsss();
        });
      }
    },
    submitcheckval() {
      addBigPositive(this.formIn).then(res => {
      addBigPositive(this.formIn).then((res) => {
        this.$modal.msgSuccess("新增成功");
        this.getParentIdsss()
        this.getParentIdsss();
        this.checkval = false;
      })
      });
    },
    cancell() {
      this.checkval = false;
      this.vals.isPositive = "0"
      this.vals.isPositive = "0";
    },
    Hzlog(val) {
      let data = {
        tjNumber: val
      }
      listHzlog(data).then(response => {
        tjNumber: val,
      };
      listHzlog(data).then((response) => {
        this.hzlogList = response.rows;
        this.hzlogList.forEach(item => {
          item.hzDeptName = ""
        this.hzlogList.forEach((item) => {
          item.hzDeptName = "";
          if (item.hzType == "0") {
            item.hzDeptName = "全院会诊"
            item.hzDeptName = "全院会诊";
          } else {
            item.hzDeptIdList.forEach(item1 => {
              this.deptList.forEach(item2 => {
            item.hzDeptIdList.forEach((item1) => {
              this.deptList.forEach((item2) => {
                if (item1 == item2.deptId) {
                  item.hzDeptName += item2.deptName + ","
                  item.hzDeptName += item2.deptName + ",";
                }
              })
            })
              });
            });
          }
        })
        });
      });
    },
    handledele(row) {
      this.id = []
      this.id.push(row.id)
      delHzlog(this.id).then(res => {
      this.id = [];
      this.id.push(row.id);
      delHzlog(this.id).then((res) => {
        this.$modal.msgSuccess("删除成功");
        this.Hzlog(this.form.tjNumber)
      })
        this.Hzlog(this.form.tjNumber);
      });
    },
    hadleedit(row) {
      this.form.hzType = row.hzType
      this.form.id = row.id
      this.form.hzType = row.hzType;
      this.form.id = row.id;
    },
    submitFormapply() {
      console.log(this.form)
      let data = {}
      this.userList.forEach(item1 => {
      console.log(this.form);
      let data = {};
      this.userList.forEach((item1) => {
        if (this.form.hzDoctorId == item1.userId) {
          this.form.hzDoctorName = item1.nickName
          this.form.hzDoctorName = item1.nickName;
        }
      })
      });
      if (this.form.hzType != undefined) {
        if (this.form.hzDeptId && this.form.id) {
          // let hzDeptId = ""
@@ -897,8 +1195,8 @@
            hzType: this.form.hzType,
            orderId: this.form.orderId,
            hzDoctorName: this.form.hzDoctorName,
            id: this.form.id
          }
            id: this.form.id,
          };
        } else {
          data = {
            tjNumber: this.form.tjNumber,
@@ -907,72 +1205,70 @@
            hzDoctorId: this.form.hzDoctorId,
            hzType: this.form.hzType,
            orderId: this.form.orderId,
            hzDoctorName: this.form.hzDoctorName
          }
            hzDoctorName: this.form.hzDoctorName,
          };
        }
        this.$refs["form"].validate((valid) => {
          if (valid) {
            if (this.form.id != null) {
              updateHzlog(data).then(res => {
              updateHzlog(data).then((res) => {
                if (res.code == 200) {
                  this.$modal.msgSuccess("修改成功");
                  this.form = {}
                  this.Hzlog()
                  this.radioChange(1)
                  this.form = {};
                  this.Hzlog();
                  this.radioChange(1);
                }
              })
              });
            } else {
              addHzlog(data).then(res => {
              addHzlog(data).then((res) => {
                if (res.code == 200) {
                  this.$modal.msgSuccess("申请成功");
                  this.form = {}
                  this.Hzlog()
                  this.radioChange(1)
                  this.form = {};
                  this.Hzlog();
                  this.radioChange(1);
                }
              })
              });
              this.open = false;
            }
          }
        })
        });
      } else {
        this.$modal.msgError("请选择会诊科室");
      }
    },
    cancel() {
      this.open = false;
      this.foropen = false;
    },
    Changeapply() {
      this.foropen = true
      this.Hzlog(this.tableAll.tjNumber)
      this.foropen = true;
      this.Hzlog(this.tableAll.tjNumber);
    },
    historicalreport() {
      this.loading = true
      this.loading = true;
      let data = {
        cusId: this.tableAll.cusId
      }
      reportHistory(data).then(res => {
        this.loading = false
        cusId: this.tableAll.cusId,
      };
      reportHistory(data).then((res) => {
        this.loading = false;
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
          this.reportHistorydata = res.data;
        }
      })
      });
    },
    handlecan(row) {
      this.dialogVisible = true
      this.dialogVisible = true;
      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)'
            text: "Loading",
            spinner: "el-icon-loading",
            background: "rgba(0, 0, 0, 0.7)",
          });
          setTimeout(() => {
            loading.close();
@@ -982,7 +1278,6 @@
            type: "warning ",
            message: "报告正在生成,请两分钟后预览!!",
          });
        } else {
          this.dialogVisible = true;
@@ -1003,13 +1298,12 @@
        hzType: this.allList[0].hzType,
        replyDoctorName: this.nickName,
        replyDeptId: this.deptId,
        replyDoctorId: this.userId
      }
      addReplylog(data).then(res => {
        replyDoctorId: this.userId,
      };
      addReplylog(data).then((res) => {
        this.$modal.msgSuccess("回复成功");
        this.getDept(this.allList[0].tjNumber)
      })
        this.getDept(this.allList[0].tjNumber);
      });
    },
    // 多选框选中数据
@@ -1026,26 +1320,26 @@
        });
        //   this.allList = []
        //   if(newRows[0].hzReplyLogsList){
        //     this.hzReplyLogsList = newRows[0].hzReplyLogsList
        //     this.hzReplyLogsList = newRows[0].hzReplyLogsList
        //   }
        //  console.log(this.hzReplyLogsList)
        //   this.allList = newRows
      } else {
        this.allList = []
        this.allList = [];
        if (selection[0]) {
          if (selection[0].hzReplyLogsList) {
            this.hzReplyLogsList = selection[0].hzReplyLogsList
            this.hzReplyLogsList = selection[0].hzReplyLogsList;
          }
        } else {
          this.hzReplyLogsList = []
          this.hzReplyLogsList = [];
        }
        this.allList = selection
        this.allList = selection;
      }
    },
    // 点击详情
    handleClick(row) {
      this.getDept(row.tjNumber)
      this.getDept(row.tjNumber);
      this.loading = true;
      this.drawer = true;
      this.tableAll = row;
@@ -1070,7 +1364,7 @@
              this.radio = item.proId;
              this.proId = item.proId;
              // this.radioChange1(item.proId, item);
              this.getParentIdsss()
              this.getParentIdsss();
              getDeptAdvice(this.proId).then((response) => {
                this.deptAdviceList = response.data;
@@ -1083,7 +1377,6 @@
          this.Parent = [];
          this.$modal.msgError("该科室下无项目!");
        }
      });
      getDeptAdvice().then((response) => {
        this.deptAdviceList = response.data;
@@ -1117,7 +1410,7 @@
        if (this.proParentList.xiaoJieIds != null) {
          if (this.proParentList.xiaoJieIds.length != 0) {
            this.proParentList.xiaoJieIds.forEach((item2) => {
              let item = Number(item2)
              let item = Number(item2);
              this.value.push(item);
            });
          }
@@ -1155,33 +1448,32 @@
    getDept(val) {
      let data = {
        tjNumber: val,
        deptId: this.deptId
      }
      hzHasDept(data).then(res => {
        deptId: this.deptId,
      };
      hzHasDept(data).then((res) => {
        if (res.data) {
          this.hasdeptList = res.data
          this.hasdeptList.forEach(item => {
            item.hzDeptName = ""
          this.hasdeptList = res.data;
          this.hasdeptList.forEach((item) => {
            item.hzDeptName = "";
            if (item.hzType == "0") {
              item.hzDeptName = "全院会诊"
              item.hzDeptName = "全院会诊";
            } else {
              item.hzDeptIdList.forEach(item1 => {
                this.deptList.forEach(item2 => {
              item.hzDeptIdList.forEach((item1) => {
                this.deptList.forEach((item2) => {
                  if (item1 == item2.deptId) {
                    item.hzDeptName += item2.deptName + ","
                    item.hzDeptName += item2.deptName + ",";
                  }
                })
              })
                });
              });
            }
          })
          });
        }
      })
      });
    },
    // 按钮点击事件
    radioChange1(proParentId, item) {
      this.Parentcheck = item
      this.Parentcheck = item;
      this.$confirm(
        "检测到体检结果未提交,是否在离开该项目前提交修改?",
        "确认信息",
@@ -1254,7 +1546,7 @@
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  let item = Number(item2);
                  this.value.push(item);
                });
              }
@@ -1308,7 +1600,7 @@
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  let item = Number(item2);
                  this.value.push(item);
                });
              }
@@ -1346,7 +1638,7 @@
        });
    },
    handleInConfirm(row) {
      this.focusrow = row
      this.focusrow = row;
    },
    handleInputConfirm(row) {
@@ -1425,7 +1717,6 @@
  background-color: #f86b35;
  color: black;
}
.blue-button {
  width: 10px;
src/views/doctor/checkAll/index.vue
@@ -1,45 +1,121 @@
<template>
  <div>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
    <el-form
      :model="queryParams"
      ref="tableList"
      :inline="true"
      label-width="76px"
      style="margin-top: 10px"
    >
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="handleQuery"></el-input>
        <el-input
          v-model="queryParams.name"
          style="width: 120px"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable
          @keyup.enter.native="handleQuery"></el-input>
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          style="width: 180px"
          placeholder="请输入体检号"
          clearable
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="体检时间" prop="tjTime">
        <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
          style="width: 310px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
        </el-date-picker> </el-form-item>
      <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px;">
        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
          style="width: 180px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        <el-date-picker
          v-model="startTime"
          type="datetimerange"
          align="right"
          :picker-options="pickerOptions"
          style="width: 310px"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm"
          value-format="yyyy-MM-dd HH:mm"
          @change="dateChangebirthday1"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 180px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.drugManufacturerId"
            :label="dict.cnName"
            :value="dict"
          />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm">搜索</el-button>
        <el-button type="primary" size="mini" @click="submitForm"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px">
    <el-radio-group
      v-model="tjStatus"
      @input="radioChange"
      style="margin-left: 20px"
    >
      <el-radio-button label="0">未审核</el-radio-button>
      <el-radio-button label="1">已审核</el-radio-button>
    </el-radio-group>
    <template>
      <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%">
      <el-table
        v-loading="loading"
        :data="checkList"
        ref="table"
        border
        style="margin: 20px; width: 98%"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column label="体检号" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px"
          fixed="left" />
        <el-table-column label="姓名" align="center" prop="cusName" :show-overflow-tooltip="true" width="100px"
          fixed="left" />
        <el-table-column
          label="体检号"
          align="center"
          prop="tjNumber"
          :show-overflow-tooltip="true"
          width="160px"
          fixed="left"
        />
        <el-table-column
          label="姓名"
          align="center"
          prop="cusName"
          :show-overflow-tooltip="true"
          width="100px"
          fixed="left"
        />
        <el-table-column label="性别" align="center" prop="cusSex" :show-overflow-tooltip="true" width="55px">
        <el-table-column
          label="性别"
          align="center"
          prop="cusSex"
          :show-overflow-tooltip="true"
          width="55px"
        >
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
            <span v-if="scope.row.cusSex == '1'">女</span>
@@ -47,53 +123,122 @@
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column label="出生日期" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="电话" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          :show-overflow-tooltip="true"
          width="110px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          :show-overflow-tooltip="true"
          width="130px"
        />
        <el-table-column label="体检时间" align="center" prop="tjTime" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" />
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="50px">
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          :show-overflow-tooltip="true"
          width="110px"
        />
        <el-table-column
          label="完成时间"
          align="center"
          prop="finishTime"
          :show-overflow-tooltip="true"
          width="160px"
        />
        <el-table-column
          label="状态"
          align="center"
          prop="tjStatus"
          :show-overflow-tooltip="true"
          width="50px"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.tjStatus == "1" ? "已检" : "未检" }}</span>
          </template>
        </el-table-column>
        <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
        <el-table-column
          label="单位名称"
          align="center"
          prop="tjCompName"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="体检类别" align="center" prop="tjCategory">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.dict_tjtype" :value="scope.row.tjCategory" />
            <dict-tag
              :options="dict.type.dict_tjtype"
              :value="scope.row.tjCategory"
            />
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="90px" fixed="right">
          <template slot-scope="scope">
            <el-button fixed="right" title="详情" type="text" size="mini" @click="handleClick(scope.row)"
              icon="el-icon-document-copy"></el-button>
            <el-button
              fixed="right"
              title="详情"
              type="text"
              size="mini"
              @click="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);
            " v-if="scope.row.tjStatus == '1'" title="预览" icon="el-icon-view"></el-button>
            <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="撤销" @click="getRevoke(scope.row)"
              icon="el-icon-refresh-left"></el-button>
            <el-button
              type="text"
              size="mini"
              @click="viewReport(scope.row)"
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
            ></el-button>
            <el-button
              type="text"
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
            @pagination="getList" />
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </div>
    </template>
    <!-- 点击弹出框 -->
    <el-drawer title="" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="80%">
    <el-drawer
      title=""
      :visible.sync="drawer"
      :before-close="handleClose"
      :with-header="false"
      size="80%"
    >
      <div style="font-size: 14px">
        <table style="
        <table
          style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          " cellspacing="4">
          "
          cellspacing="4"
        >
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{
              tableAll.cusName
@@ -129,101 +274,139 @@
          </tr>
        </table>
      </div>
      <div style="display:flex;">
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
      <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 style="margin: 10px 10px" v-if="tableAll.tjCategory == '02'">
          <el-button type="primary" size="mini" @click="medicalhistory()"
            >职业病史</el-button
          >
        </div>
      </div>
      <el-row>
        <el-col :span="18">
          <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" v-for="(item, index) in changedate" :key="index">
          <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"
              v-for="(item, index) in changedate"
              :key="index"
            >
              <caption style="background-color: #f8f8f9">
                {{
                  item.parent || ""
                }}
              </caption>
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse" align="center">
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
              <tr
                style="border: 1px solid #dfe6ec; border-collapse: collapse"
                align="center"
              >
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测项目
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测结果
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  单位
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                <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">
              <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>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ "" }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                <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;
              ">
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{ item1.standard.company }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{
                    item1.standard.tjStandardGtValue +
                    "-" +
@@ -231,143 +414,263 @@
                  }}
                </td>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
            ">
              <tr
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                "
              >
                <td>小结:</td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              " >
                <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)">
                <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id">
                </el-option>
              </el-select> -->
                </td>
                <td 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;
              ">
                <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;
              ">
              <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>
                <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 >
              </el-input> -->
                </td>
              </tr>
            </table>
            <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm">
            <el-form
              ref="numberValidateForm"
              label-width="80px"
              class="demo-ruleForm"
            >
              <el-form-item label="总检建议">
                <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3" style="width: 96%">
                <el-input
                  type="textarea"
                  placeholder="请输入内容"
                  v-model="textarea1"
                  :rows="3"
                  style="width: 96%"
                >
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers">
              <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
              <el-button
                type="primary"
                @click="determine"
                :disabled="isdisabled"
                >提交并生成报告</el-button
              >
            </div>
          </div>
        </el-col>
        <el-col :span="6">
          <div v-if="hosproy">
            <Historicalreport :reportHistorydata="reportHistorydata"></Historicalreport>
            <Historicalreport
              :reportHistorydata="reportHistorydata"
            ></Historicalreport>
          </div>
          <div class="hist3" v-if="wenzhen">
            <span class="txt">问诊信息</span>
            <el-form ref="form" :model="formobj" label-width="100px" :inline="true" size="mini">
            <el-form
              ref="form"
              :model="formobj"
              label-width="100px"
              :inline="true"
              size="mini"
            >
              <el-collapse class="coll" v-model="activeName" accordion>
                <el-collapse-item class="coll" title="基本信息" name="1" style="width: 100%; font-weight: 600">
                <el-collapse-item
                  class="coll"
                  title="基本信息"
                  name="1"
                  style="width: 100%; font-weight: 600"
                >
                  <div style="width: 100%">
                    <el-form-item label="姓名" prop="cusName">
                      <el-input v-model="formobj.cusName" placeholder="请输入姓名" />
                      <el-input
                        disabled
                        v-model="formobj.cusName"
                        placeholder="请输入姓名"
                      />
                    </el-form-item>
                    <el-form-item label="职业" prop="work">
                      <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      <el-select
                        filterable
                        v-model="formobj.work"
                        placeholder="请选择职业"
                        clearable
                        style="width: 150px"
                        disabled
                      >
                        <el-option
                          v-for="dict in dict.type.tj_work"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="工作状态" prop="workStatus">
                      <el-select filterable v-model="formobj.workStatus" placeholder="请选择工作状态" clearable
                        style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      <el-select
                        disabled
                        filterable
                        v-model="formobj.workStatus"
                        placeholder="请选择工作状态"
                        clearable
                        style="width: 150px"
                      >
                        <el-option
                          v-for="dict in dict.type.tj_work_status"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="接触毒物" prop="contactPoison">
                      <el-input type="textarea" rows="4" v-model="formobj.contactPoison" placeholder="请输入接触毒物"
                        style="width: 700px" />
                      <el-input
                        disabled
                        type="textarea"
                        rows="4"
                        v-model="formobj.contactPoison"
                        placeholder="请输入接触毒物"
                        style="width: 700px"
                      />
                    </el-form-item>
                    <el-form-item label="既往病史" prop="medicalHistory">
                      <el-input type="textarea" rows="4" v-model="formobj.medicalHistory" placeholder="请输入既往病史"
                        style="width: 700px" />
                      <el-input
                        disabled
                        type="textarea"
                        rows="4"
                        v-model="formobj.medicalHistory"
                        placeholder="请输入既往病史"
                        style="width: 700px"
                      />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="月经史" name="2" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="初潮(岁)" prop="chuchao">
                      <el-input v-model="formobj.chuchao" style="width: 70px" />
                      <el-input
                        v-model="formobj.chuchao"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                    <el-form-item label="经期" prop="jingqi">
                      <el-input v-model="formobj.jingqi" style="width: 70px" />天
                      <el-input
                        v-model="formobj.jingqi"
                        disabled
                        style="width: 70px"
                      />天
                    </el-form-item>
                    <el-form-item label="周期" prop="zhouqi">
                      <el-input v-model="formobj.zhouqi" style="width: 70px" />天
                      <el-input
                        v-model="formobj.zhouqi"
                        disabled
                        style="width: 70px"
                      />天
                    </el-form-item>
                    <el-form-item label="末次月经" prop="mociage">
                      <el-input v-model="formobj.mociage" style="width: 100px" />
                      <el-input
                        v-model="formobj.mociage"
                        disabled
                        style="width: 100px"
                      />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="生育史" name="3" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="现有子女(人)" prop="zinv">
                      <el-input v-model="formobj.zinv" style="width: 70px" />
                      <el-input
                        v-model="formobj.zinv"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                    <el-form-item label="流产(次)" prop="liuchan">
                      <el-input v-model="formobj.liuchan" style="width: 70px" />
                      <el-input
                        v-model="formobj.liuchan"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                    <el-form-item label="早产(次)" prop="zaochan">
                      <el-input v-model="formobj.zaochan" style="width: 70px" />
                      <el-input
                        v-model="formobj.zaochan"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                    <el-form-item label="死产(次)" prop="sichan">
                      <el-input v-model="formobj.sichan" style="width: 70px" />
                      <el-input
                        v-model="formobj.sichan"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                    <el-form-item label="异常胎(次)" prop="yichangtai">
                      <el-input v-model="formobj.yichangtai" style="width: 70px" />
                      <el-input
                        v-model="formobj.yichangtai"
                        style="width: 70px"
                        disabled
                      />
                    </el-form-item>
                  </div>
                </el-collapse-item>
@@ -375,69 +678,156 @@
                  <div style="width: 100%">
                    <el-form-item label="是否吸烟" prop="xiyan">
                      <!-- <el-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
                      <el-select filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      <el-select
                        disabled
                        filterable
                        v-model="formobj.xiyan"
                        placeholder="请选择是否吸烟"
                        clearable
                        style="width: 150px"
                      >
                        <el-option
                          v-for="dict in dict.type.tj_smoking_pinlv"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="吸烟频率" prop="xiyanpinlv">
                      <el-input v-model="formobj.xiyanpinlv" style="width: 70px" />支/天
                      <el-input
                        v-model="formobj.xiyanpinlv"
                        disabled
                        style="width: 70px"
                      />支/天
                    </el-form-item>
                    <el-form-item label="吸烟时间" prop="xiyanyear">
                      <el-input v-model="formobj.xiyanyear" style="width: 70px" />年 </el-form-item><br />
                      <el-input
                        v-model="formobj.xiyanyear"
                        disabled
                        style="width: 70px"
                      />年 </el-form-item
                    ><br />
                    <el-form-item label="是否饮酒" prop="yinjiu">
                      <!-- <el-input v-model="form.yinjiupinlv" placeholder="请输入饮酒频率" /> -->
                      <el-select filterable v-model="formobj.yinjiu" placeholder="请选择是否饮酒" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      <el-select
                        filterable
                        v-model="formobj.yinjiu"
                        disabled
                        placeholder="请选择是否饮酒"
                        clearable
                        style="width: 150px"
                      >
                        <el-option
                          v-for="dict in dict.type.tj_smoking_pinlv"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="饮酒频率" prop="yinjiupinlv">
                      <el-input v-model="formobj.yinjiupinlv" style="width: 70px" />ml/天
                      <el-input
                        v-model="formobj.yinjiupinlv"
                        disabled
                        style="width: 70px"
                      />ml/天
                    </el-form-item>
                    <el-form-item label="饮酒时间" prop="yinjiuyear">
                      <el-input v-model="formobj.yinjiuyear" style="width: 70px" />年
                      <el-input
                        v-model="formobj.yinjiuyear"
                        disabled
                        style="width: 70px"
                      />年
                    </el-form-item>
                    <el-form-item label="其他" prop="qita">
                      <el-input v-model="formobj.qita" placeholder="请输入其他" type="textarea" style="width: 600px"
                        rows="2" />
                      <el-input
                        v-model="formobj.qita"
                        placeholder="请输入其他"
                        disabled
                        type="textarea"
                        style="width: 600px"
                        rows="2"
                      />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="急慢性职业病史信息" name="5">
                  <div style="width: 100%">
                    <el-table border :data="formobj.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%">
                      <el-table-column type="selection" width="40" align="center" />
                    <el-table
                      border
                      :data="formobj.tjAskHistorysList"
                      ref="tjAskHistorys"
                      style="width: 98%"
                    >
                      <el-table-column
                        type="selection"
                        width="40"
                        align="center"
                      />
                      <el-table-column label="疾病名称" prop="diseaseName">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseName" placeholder="请输入疾病名称" />
                          <el-input
                            size="mini"
                            disabled
                            v-model="scope.row.diseaseName"
                            placeholder="请输入疾病名称"
                          />
                        </template>
                      </el-table-column>
                      <el-table-column label="诊断日期" prop="diseaseData">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          <el-date-picker
                            size="mini"
                            v-model="scope.row.diseaseData"
                            align="right"
                            type="date"
                            placeholder="选择日期"
                            :picker-options="pickerOptions"
                            style="width: 130px"
                            value-format="yyyy-MM-dd"
                          >
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="诊断单位" prop="diseaseCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                          <el-input
                            size="mini"
                            disabled
                            v-model="scope.row.diseaseCompany"
                            placeholder="请输入诊断单位"
                          />
                        </template>
                      </el-table-column>
                      <el-table-column label="是否痊愈" prop="isOk">
                        <template slot-scope="scope">
                          <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                          <el-select filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈" clearable>
                            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                          <el-select
                            disabled
                            filterable
                            size="mini"
                            v-model="scope.row.isOk"
                            placeholder="请选择是否痊愈"
                            clearable
                          >
                            <el-option
                              v-for="dict in dict.type.sys_yes_no"
                              :key="dict.value"
                              :label="dict.label"
                              :value="dict.value"
                            />
                          </el-select>
                        </template>
                      </el-table-column>
                      <el-table-column label="备注" prop="remark">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.remark" placeholder="请输入备注" />
                          <el-input
                            disabled
                            size="mini"
                            v-model="scope.row.remark"
                            placeholder="请输入备注"
                          />
                        </template>
                      </el-table-column>
                    </el-table>
@@ -446,52 +836,106 @@
                <el-collapse-item title="职业史" name="7">
                  <div style="width: 100%">
                    <el-table border :data="formobj.workLogs" style="width: 98%">
                      <el-table-column type="selection" width="40" align="center" />
                    <el-table
                      border
                      :data="formobj.workLogs"
                      style="width: 98%"
                    >
                      <el-table-column
                        type="selection"
                        width="40"
                        align="center"
                      />
                      <el-table-column label="开始时间" prop="beginTime">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          <el-date-picker
                            size="mini"
                            v-model="scope.row.beginTime"
                            align="right"
                            type="date"
                            placeholder="选择日期"
                            :picker-options="pickerOptions"
                            style="width: 130px"
                            value-format="yyyy-MM-dd"
                          >
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="结束时间" prop="endTime">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.endTime" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          <el-date-picker
                            size="mini"
                            disabled
                            v-model="scope.row.endTime"
                            align="right"
                            type="date"
                            placeholder="选择日期"
                            :picker-options="pickerOptions"
                            style="width: 130px"
                            value-format="yyyy-MM-dd"
                          >
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="工作单位" prop="workCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                          <el-input
                            size="mini"
                            disabled
                            v-model="scope.row.workCompany"
                            placeholder="请输入工作单位"
                          />
                        </template>
                      </el-table-column>
                      <el-table-column label="部门" prop="workDept">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                          <el-input
                            disabled
                            size="mini"
                            v-model="scope.row.workDept"
                            placeholder="请输入部门"
                          />
                        </template>
                      </el-table-column>
                      <el-table-column label="工种" prop="workType">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                          <el-input
                            disabled
                            size="mini"
                            v-model="scope.row.workType"
                            placeholder="请输入工种"
                          />
                        </template>
                      </el-table-column>
                      <el-table-column label="有害因素" prop="harmTypeLogs">
                        <template slot-scope="scope">
                          <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                          <el-select filterable size="mini" v-model="scope.row.harmTypeLogs" multiple
                            placeholder="请选择有害因素" clearable>
                            <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype"
                              :value="dict.aid" />
                          <el-select
                            filterable
                            disabled
                            size="mini"
                            v-model="scope.row.harmTypeLogs"
                            multiple
                            placeholder="请选择有害因素"
                            clearable
                          >
                            <el-option
                              v-for="dict in harmTypeList"
                              :key="dict.aid"
                              :label="dict.harmtype"
                              :value="dict.aid"
                            />
                          </el-select>
                        </template>
                      </el-table-column>
                      <el-table-column label="防护措施" prop="fangHu">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                          <el-input
                            disabled
                            size="mini"
                            v-model="scope.row.fangHu"
                            placeholder="请输入防护措施"
                          />
                        </template>
                      </el-table-column>
                    </el-table>
@@ -504,9 +948,19 @@
      </el-row>
    </el-drawer>
    <el-dialog class="dia" title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
    <el-dialog
      class="dia"
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
      <div class="main">
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
      </div>
    </el-dialog>
  </div>
@@ -525,9 +979,7 @@
  gettoPdf,
  getModified,
} from "@/api/doctor/checkAll";
import {
  getInfoById,
} from "@/api/hosp/history";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import { reportHistory } from "@/api/doctor/check";
@@ -537,10 +989,17 @@
export default {
  components: {
    ViewPdf, Historicalreport
    ViewPdf,
    Historicalreport,
  },
  dicts: [
    "dict_tjtype", "sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"
    "dict_tjtype",
    "sys_user_sex",
    "sys_yes_no",
    "tj_result_type",
    "lj_positive",
    "tj_work",
    "tj_work_status",
  ],
  name: "checkAll",
  data() {
@@ -727,7 +1186,6 @@
            this.checkList = [];
          }
        }
      }),
        // 获取单位信息集合
        getCompany(this.queryParam).then((response) => {
@@ -743,15 +1201,14 @@
        if (response.size === 0) {
          const loading = this.$loading({
            lock: true,
            text: 'Loading',
            spinner: 'el-icon-loading',
            background: 'rgba(0, 0, 0, 0.7)'
            text: "Loading",
            spinner: "el-icon-loading",
            background: "rgba(0, 0, 0, 0.7)",
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
@@ -760,47 +1217,46 @@
      });
    },
    historicalreport() {
      this.loading = true
      this.wenzhen = false
      this.hosproy = true
      this.loading = true;
      this.wenzhen = false;
      this.hosproy = true;
      let data = {
        cusId: this.tableAll.cusId
      }
      reportHistory(data).then(res => {
        this.loading = false
        cusId: this.tableAll.cusId,
      };
      reportHistory(data).then((res) => {
        this.loading = false;
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
          this.reportHistorydata = res.data;
        } else {
          this.reportHistorydata = []
          this.reportHistorydata = [];
        }
      })
      });
    },
    medicalhistory() {
      this.wenzhen = true
      this.hosproy = false
      let tjNumber = this.tableAll.tjNumber
      this.wenzhen = true;
      this.hosproy = false;
      let tjNumber = this.tableAll.tjNumber;
      getInfoById(tjNumber).then((response) => {
        this.formobj = response.data;
        if (this.formobj.xiyan == null) {
          this.formobj.xiyan = "1"
          this.formobj.xiyan = "1";
        }
        if (this.formobj.xiyanpinlv == null) {
          this.formobj.xiyanpinlv = "0"
          this.formobj.xiyanpinlv = "0";
        }
        if (this.formobj.xiyanyear == null) {
          this.formobj.xiyanyear = "0"
          this.formobj.xiyanyear = "0";
        }
        if (this.formobj.yinjiu == null) {
          this.formobj.yinjiu = "1"
          this.formobj.yinjiu = "1";
        }
        if (this.formobj.yinjiupinlv == null) {
          this.formobj.yinjiupinlv = "0"
          this.formobj.yinjiupinlv = "0";
        }
        if (this.formobj.yinjiuyear == null) {
          this.formobj.yinjiuyear = "0"
          this.formobj.yinjiuyear = "0";
        }
      });
    },
@@ -887,7 +1343,6 @@
            this.checkList = [];
          }
        }
      });
    },
    // 重置
@@ -1054,7 +1509,7 @@
            state: 1,
            id: this.MsgId,
          };
          getfiedState(data).then((res) => { });
          getfiedState(data).then((res) => {});
        });
    },
@@ -1119,10 +1574,10 @@
            remarks,
          },
        ];
        getModified(updateOrderRemarkVos).then((response) => { });
        getModified(updateOrderRemarkVos).then((response) => {});
      }
      this.submitForm()
      this.$forceUpdate()
      this.submitForm();
      this.$forceUpdate();
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;
src/views/doctor/imaging/index.vue
@@ -1,31 +1,70 @@
<template>
  <div>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
    <el-form
      :model="queryParams"
      ref="tableList"
      :inline="true"
      label-width="76px"
      style="margin-top: 10px"
    >
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable
          @keyup.enter.native="handleQuery"></el-input>
        <el-input
          v-model="queryParams.name"
          style="width: 116px"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号"></el-input>
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          style="width: 240px"
          placeholder="请输入体检号"
        ></el-input>
      </el-form-item>
      <el-form-item>
        <el-button size="mini" type="primary" @click="submitForm">搜索</el-button>
        <el-button size="mini" type="primary" @click="submitForm"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <div style="display: flex;">
      <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
    <div style="display: flex">
      <el-radio-group
        v-model="tjStatus"
        @input="radioChange"
        style="margin-left: 30px"
      >
        <el-radio-button label="0">未检</el-radio-button>
        <el-radio-button label="1">已检</el-radio-button>
      </el-radio-group>
    </div>
    <template>
      <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%"
        border="" :cell-class-name="myclass">
      <el-table
        :data="tableList"
        v-loading="loading"
        ref="table"
        height="536px"
        style="margin: 20px; width: 98%"
        border=""
        :cell-class-name="myclass"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" />
        <el-table-column label="姓名" align="center" prop="cusName" width="90px" />
        <el-table-column
          label="体检号"
          align="center"
          prop="tjNumber"
          width="160px"
        />
        <el-table-column
          label="姓名"
          align="center"
          prop="cusName"
          width="90px"
        />
        <el-table-column label="性别" align="center" prop="cusSex" width="60px">
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
@@ -34,58 +73,141 @@
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" />
        <el-table-column label="电话" align="center" prop="cusPhone" width="100px" />
        <el-table-column label="体检类型" align="center" prop="tjType" width="80px" />
        <el-table-column label="登记时间" align="center" prop="createTime" width="160px" />
        <el-table-column label="体检时间" align="center" prop="tjTime" width="100px" />
        <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" />
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          width="100px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          width="100px"
        />
        <el-table-column
          label="体检类型"
          align="center"
          prop="tjType"
          width="80px"
        />
        <el-table-column
          label="登记时间"
          align="center"
          prop="createTime"
          width="160px"
        />
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          width="100px"
        />
        <el-table-column
          label="未检项"
          prop="notCheckeds"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="操作" align="center" width="130px">
          <template slot-scope="scope">
            <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)"
              title="会诊申请" v-if="tjStatus == '1'"></el-button>
            <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)"
              title="详情"></el-button>
            <el-button type="primary" icon="el-icon-picture" size="mini" @click="handlepicture(scope.row)"
              title="报告"></el-button>
            <el-button
              type="primary"
              icon="el-icon-first-aid-kit"
              size="mini"
              @click="Changeapplyfor(scope.row)"
              title="会诊申请"
              v-if="tjStatus == '1'"
            ></el-button>
            <el-button
              type="primary"
              icon="el-icon-share"
              size="mini"
              @click="handleClick(scope.row)"
              title="详情"
            ></el-button>
            <el-button
              type="primary"
              icon="el-icon-picture"
              size="mini"
              @click="handlepicture(scope.row)"
              title="报告"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
            @pagination="getList" />
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </div>
    </template>
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1000px"
      append-to-body
    >
      <el-row>
        <el-col :span="9" v-if="hzlogList.length >= 1">
          <h3>会诊申请记录</h3>
          <el-table :data="hzlogList" style="width: 100%" border>
            <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
            <el-table-column
              label="申请人"
              align="center"
              prop="hzDoctorName"
              width="100px"
            />
            <el-table-column label="科室" align="center" prop="hzDeptName" />
            <el-table-column label="操作" align="center" width="150px">
              <template slot-scope="scope">
                <el-button type="primary" size="mini" @click="hadleedit(scope.row)"
                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">修改</el-button>
                <el-button type="primary" size="mini"
                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId"
                  @click="handledele(scope.row)">删除</el-button>
                <el-button
                  type="primary"
                  size="mini"
                  @click="hadleedit(scope.row)"
                  v-if="
                    scope.row.hzReplyLogsList.length == 0 &&
                    scope.row.hzDoctorId == info.userId
                  "
                  >修改</el-button
                >
                <el-button
                  type="primary"
                  size="mini"
                  v-if="
                    scope.row.hzReplyLogsList.length == 0 &&
                    scope.row.hzDoctorId == info.userId
                  "
                  @click="handledele(scope.row)"
                  >删除</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </el-col>
        <el-col :span="14">
          <h3 style="text-align: center;">会诊记录申请</h3>
          <h3 style="text-align: center">会诊记录申请</h3>
          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
            <el-form-item label="姓名" prop="cusName">
              <el-input v-model="form.cusName" placeholder="请输入姓名" disabled />
              <el-input
                v-model="form.cusName"
                placeholder="请输入姓名"
                disabled
              />
            </el-form-item>
            <el-form-item label="体检号" prop="tjNumber">
              <el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled />
              <el-input
                v-model="form.tjNumber"
                placeholder="请输入体检号"
                disabled
              />
            </el-form-item>
            <el-form-item label="会诊科室" prop="hzType">
              <el-radio-group v-model="form.hzType">
@@ -94,14 +216,33 @@
              </el-radio-group>
            </el-form-item>
            <el-form-item label="选择科室" v-if="form.hzType == '1'">
              <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%">
                <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
                  :value="item.deptId"></el-option>
              <el-select
                v-model="form.hzDeptId"
                multiple
                filterable
                style="width: 100%"
              >
                <el-option
                  v-for="item in deptList"
                  :key="item.deptId"
                  :label="item.deptName"
                  :value="item.deptId"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="申请人" prop="hzDoctorId">
              <el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable>
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
              <el-select
                v-model="form.hzDoctorId"
                placeholder="请选择"
                style="width: 100%"
                filterable
              >
                <el-option
                  v-for="item in userList"
                  :key="item.userId"
                  :label="item.nickName"
                  :value="item.userId"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -118,29 +259,58 @@
      </div>
    </el-dialog>
    <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="foropen"
      width="1000px"
      append-to-body
    >
      <el-row>
        <el-col :span="8" v-if="hasdeptList.length >= 1">
          <h3 style="text-align: center;">会诊申请记录</h3>
          <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange">
          <h3 style="text-align: center">会诊申请记录</h3>
          <el-table
            :data="hasdeptList"
            style="width: 100%"
            border
            ref="tab"
            @selection-change="handleSelectionChange"
          >
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
            <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" />
            <el-table-column
              label="申请人"
              align="center"
              prop="hzDoctorName"
              width="100px"
            />
            <el-table-column
              label="科室"
              align="center"
              prop="hzDeptName"
              width="260px"
            />
          </el-table>
        </el-col>
        <el-col :span="16" style="padding: 0 10px;">
          <h3 style="text-align: center;">会诊意见</h3>
          <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;">
            <div v-for="(item, index) in hzReplyLogsList" :key="index"
              style="padding-bottom:5px;border-bottom: 1px solid black;">
        <el-col :span="16" style="padding: 0 10px">
          <h3 style="text-align: center">会诊意见</h3>
          <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px">
            <div
              v-for="(item, index) in hzReplyLogsList"
              :key="index"
              style="padding-bottom: 5px; border-bottom: 1px solid black"
            >
              <!-- <div>会诊科室:{{ item.replyDeptName }}</div> -->
              <div> 医生:{{ item.hzDoctorName }} </div>
              <div>医生:{{ item.hzDoctorName }}</div>
              <div>回复:{{ item.replyContent }}</div>
            </div>
          </div>
          <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea">
          <el-input
            type="textarea"
            :rows="2"
            placeholder="请输入内容"
            v-model="textarea"
          >
          </el-input>
          <div style="padding: 10px 10px;">
          <div style="padding: 10px 10px">
            <el-button type="primary" @click="submitFormreply">回复</el-button>
          </div>
        </el-col>
@@ -151,11 +321,20 @@
      </div> -->
    </el-dialog>
    <el-dialog :title="title" :visible.sync="tuweiopen" width="1000px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="tuweiopen"
      width="1000px"
      append-to-body
    >
      <el-row>
        <el-col :span="10">
          <el-table :data="proimgList" border ref="tabss" @selection-change="handleproimgChange">
          <el-table
            :data="proimgList"
            border
            ref="tabss"
            @selection-change="handleproimgChange"
          >
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="项目" align="center" prop="proName" />
            <el-table-column label="医生" align="center" prop="createBy" />
@@ -163,7 +342,11 @@
        </el-col>
        <el-col :span="12">
          <div class="demo-image__preview">
            <el-image style="width: 240px; height: 120px;margin-left: 10px;" :src="url" :preview-src-list="srcList">
            <el-image
              style="width: 240px; height: 120px; margin-left: 10px"
              :src="url"
              :preview-src-list="srcList"
            >
            </el-image>
          </div>
        </el-col>
@@ -173,7 +356,12 @@
        <el-button @click="cancel">取 消</el-button>
      </div> -->
    </el-dialog>
    <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body>
    <el-dialog
      title="填写是否重大阳性"
      :visible.sync="checkval"
      width="800px"
      append-to-body
    >
      <el-form ref="form" :model="formIn" label-width="100px">
        <el-form-item label="姓名">
          <el-input v-model="formIn.cusName" disabled></el-input>
@@ -194,8 +382,18 @@
          </el-radio-group>
        </el-form-item>
        <el-form-item label="等级">
          <el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%;">
            <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value">
          <el-select
            v-model="formIn.level"
            placeholder="请选择"
            filterable
            style="width: 100%"
          >
            <el-option
              v-for="item in dict.type.lj_positive"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item>
@@ -210,9 +408,15 @@
    </el-dialog>
    <!-- 点击右边弹出层 -->
    <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
    <el-drawer
      :visible.sync="drawer"
      :with-header="false"
      size="70%"
      :before-close="handleClose"
    >
      <div style="font-size: 14px">
        <table style="
        <table
          style="
            width: 96%;
            height:70px
            margin: 10px 10px;
@@ -220,14 +424,19 @@
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
            font-size:16px
          " cellspacing="4">
          "
          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" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              姓名:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -239,7 +448,10 @@
                <span v-if="scope.row.cusSex == '9'">未说明性别</span>
              </template>
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -247,13 +459,19 @@
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              体检单号:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.tjNumber }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
              体检时间:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -263,39 +481,58 @@
        </table>
      </div>
      <div>
        <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button>
        <div style="margin: 10px 10px" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()"
            >会诊申请</el-button
          >
        </div>
      </div>
      <template>
        <div style="margin-left: 10px">
          <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
            @input="radioChange1(item.proId, item)">
          <el-radio-group
            v-model="radio"
            v-for="(item, index) in Parent"
            :key="index"
            @input="radioChange1(item.proId, item)"
          >
            <el-radio-button :label="item.proId">{{
              item.proName
            }}</el-radio-button>
          </el-radio-group>
        </div>
      </template>
      <el-table v-loading="loading" :data="proParentList.sons" border height="460px"
        style="width: 96%; margin: 10px 10px">
      <el-table
        v-loading="loading"
        :data="proParentList.sons"
        border
        height="460px"
        style="width: 96%; margin: 10px 10px"
      >
        <el-table-column prop="project.proName" label="检测项目" width="150">
          <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
        </el-table-column>
        <el-table-column prop="proResult" label="检测结果" width="280">
        <el-table-column prop="proResult" label="检测结果" width="200">
          <template slot-scope="scope">
            <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="请输入检测结果"
              @blur="handleInputConfirm(scope.row)" @input="vale"></el-input>
            <el-input
              size="mini"
              type="textarea"
              autosize
              v-model="scope.row.proResult"
              autocomplete="off"
              placeholder="请输入检测结果"
              @blur="handleInputConfirm(scope.row)"
              @input="vale"
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column label="规则" width="55">
          <template slot-scope="scope">
            <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
            <el-button class="blue-button" @click="handleguize(scope.row)"
              >...</el-button
            >
          </template>
        </el-table-column>
        <el-table-column prop="project.proMetering" label="单位">
@@ -305,51 +542,89 @@
        </el-table-column>
        <el-table-column prop="project.proScope" label="参考范围" width="100">
        </el-table-column>
        <el-table-column prop="conclusion" label="结果结论" width="280">
        <el-table-column prop="conclusion" label="结果结论" width="200">
          <template slot-scope="scope">
            <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入检测结果"
              disabled></el-input>
            <el-input
              size="mini"
              type="textarea"
              autosize
              v-model="scope.row.conclusion"
              autocomplete="off"
              placeholder="请输入检测结果"
              disabled
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center">
        <el-table-column
          prop="exceptionDesc"
          label="是否异常"
          width="80px"
          align="center"
        >
          <template slot-scope="scope">
            <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="isReturn" label="是否复诊" width="80px" align="center">
        <el-table-column
          prop="isReturn"
          label="是否复诊"
          width="80px"
          align="center"
        >
          <template slot-scope="scope">
            <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="project.resultType" label="结果类型">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
            <dict-tag
              :options="dict.type.tj_result_type"
              :value="scope.row.project.resultType"
            />
          </template>
        </el-table-column>
        <el-table-column prop="isPositive" label="重大阳性">
          <template slot-scope="scope">
            <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
              @change="checkboxchange(scope.row)"></el-switch>
            <el-switch
              v-model="scope.row.isPositive"
              active-value="1"
              inactive-value="0"
              @change="checkboxchange(scope.row)"
            ></el-switch>
          </template>
        </el-table-column>
      </el-table>
      <div style="font-size: 14px; overflow-y: auto; height: 286px">
        <table style="
        <table
          style="
            width: 96%;
            margin: 4px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          " cellspacing="4">
          "
          cellspacing="4"
        >
          <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">
              <el-select v-model="value" multiple placeholder="请选择" style="width: 100%; height: 45px"
                v-if="deptAdviceList" @change="sel" filterable>
                <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id">
              <el-select
                v-model="value"
                multiple
                placeholder="请选择"
                style="width: 100%; height: 45px"
                v-if="deptAdviceList"
                @change="sel"
                filterable
              >
                <el-option
                  v-for="item in deptAdviceList"
                  :key="item.id"
                  :label="item.title"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </td>
@@ -357,15 +632,28 @@
              主检医师:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
                @change="selName" filterable>
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
              <el-select
                v-model="doctorName"
                placeholder="请选择"
                style="width: 100%"
                v-if="deptAdviceList"
                @change="selName"
                filterable
              >
                <el-option
                  v-for="item in userList"
                  :key="item.userId"
                  :label="item.nickName"
                  :value="item.userId"
                >
                </el-option>
              </el-select>
            </td>
            <td>
              <div>
                <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
                <el-button type="primary" size="mini" @click="Graphicreport()"
                  >图文报告</el-button
                >
              </div>
            </td>
          </tr>
@@ -373,8 +661,16 @@
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              建议:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
              <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              colspan="2"
            >
              <el-input
                type="textarea"
                placeholder="请输入内容"
                v-model="proParentList.remark"
                rows="7"
              >
              </el-input>
            </td>
          </tr>
@@ -387,7 +683,9 @@
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
          <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
          <el-button type="primary" @click="determine" v-show="tjStatus == '0'"
            >提 交</el-button
          >
        </div>
      </div>
      <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);">
@@ -431,7 +729,7 @@
        </div>
      </div> -->
    </el-drawer>
    < ref="aaa" :row="row" @add="handleChanges" />
    <Public ref="aaa" :row="row" @add="handleChanges" />
  </div>
</template>
@@ -448,12 +746,8 @@
  getDeptAdvice,
} from "@/api/doctor/check";
import { getConfigKey } from "@/api/system/config";
import {
  addBigPositive
} from "@/api/doctor/bigPositive";
import {
  addReplylog, hzHasDept
} from "@/api/hosp/replylog";
import { addBigPositive } from "@/api/doctor/bigPositive";
import { addReplylog, hzHasDept } from "@/api/hosp/replylog";
import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog";
import { listUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
@@ -463,7 +757,7 @@
  components: { Public },
  data() {
    return {
      url: '',
      url: "",
      srcList: [],
      formIn: {},
      project: {},
@@ -504,7 +798,7 @@
      info: {},
      allList: [],
      form: {
        createTime: new Date()
        createTime: new Date(),
      },
      // 医生
      doctorName: "",
@@ -548,10 +842,8 @@
        name: null,
      },
      rules: {
        hzType: [
          { required: true, message: '', trigger: 'change' }
        ]
      }
        hzType: [{ required: true, message: "", trigger: "change" }],
      },
    };
  },
@@ -588,7 +880,7 @@
        }
      );
      getInfo().then((response) => {
        this.info = response.user
        this.info = response.user;
        this.deptId = response.user.deptId;
        this.userId = response.user.userId;
        this.nickName = response.user.nickName;
@@ -609,7 +901,7 @@
    myclass(row, column, rowIndex, columnIndex) {
      if (row.row.isPositive == 1) {
        return "setclass"
        return "setclass";
      }
    },
    // 小结获取备注
@@ -670,11 +962,11 @@
    },
    getList() {
      this.loading = true
      this.loading = true;
      this.queryParams.type = this.tjStatus;
      huaYangetProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false
          this.loading = false;
          if (response.data) {
            if (response.data.date) {
              this.tableList = response.data.date;
@@ -686,25 +978,23 @@
            this.tableList = [];
          }
        }
      });
    },
    // 单选按钮
    radioChange(val) {
      this.loading = true
      this.loading = true;
      this.queryParams.type = val;
      huaYangetProList(this.queryParams).then((response) => {
        if(response.code == 200){
          this.loading = false
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
          this.tableList = response.data.date;
          this.total = response.data.total;
        } else {
          this.tableList = [];
            this.tableList = response.data.date;
            this.total = response.data.total;
          } else {
            this.tableList = [];
          }
        }
        }
      });
    },
@@ -747,12 +1037,12 @@
    Changeapplyfor(row) {
      this.open = true;
      this.form = row
      this.form = row;
      this.form.hzDoctorId = this.info.userId;
      getChildList().then(res => {
      getChildList().then((res) => {
        this.deptList = res.data;
      })
      this.Hzlog(this.form.tjNumber)
      });
      this.Hzlog(this.form.tjNumber);
    },
    Graphicreport() {
@@ -761,57 +1051,55 @@
      let data = {
        tjNumber: this.tjNumber,
        proId: this.proId,
      }
      getPhotoList(data).then(res => {
        this.proimgList = res.data
      })
      };
      getPhotoList(data).then((res) => {
        this.proimgList = res.data;
      });
    },
    handleproimgChange(selected) {
      const val = selected
      selected.forEach(item => {
      const val = selected;
      selected.forEach((item) => {
        if (val[val.length - 1] == item) {
          this.$refs.tabss.toggleRowSelection(item, true)
          this.$refs.tabss.toggleRowSelection(item, true);
        } else {
          this.$refs.tabss.toggleRowSelection(item, false)
          this.$refs.tabss.toggleRowSelection(item, false);
        }
      })
      this.url = selected[0].checkPicture
      this.srcList.push(selected[0].checkPicture)
      });
      this.url = selected[0].checkPicture;
      this.srcList.push(selected[0].checkPicture);
    },
    submittuwei() {
    },
    submittuwei() {},
    checkboxchange(val) {
      this.project = val.project
      this.formIn.tjNumber = this.tableAll.tjNumber
      this.formIn.cusId = this.tableAll.cusId
      this.formIn.cusName = this.tableAll.cusName
      this.formIn.proId = this.project.proId
      this.formIn.proName = this.project.proName
      this.formIn.orderId = val.orderId
      this.Parent.forEach(item => {
      this.project = val.project;
      this.formIn.tjNumber = this.tableAll.tjNumber;
      this.formIn.cusId = this.tableAll.cusId;
      this.formIn.cusName = this.tableAll.cusName;
      this.formIn.proId = this.project.proId;
      this.formIn.proName = this.project.proName;
      this.formIn.orderId = val.orderId;
      this.Parent.forEach((item) => {
        if (this.radio == item.proId) {
          this.Parentcheck.proName = item.proName
          this.formIn.proParentId = item.proId
          this.Parentcheck.proName = item.proName;
          this.formIn.proParentId = item.proId;
        }
      })
      });
      if (val.isPositive == "1") {
        this.checkval = true;
      } else {
        this.formIn.flag = "0"
        addBigPositive(this.formIn).then(res => {
        this.formIn.flag = "0";
        addBigPositive(this.formIn).then((res) => {
          this.$modal.msgSuccess("删除成功");
          this.getParentIdsss()
        })
          this.getParentIdsss();
        });
      }
    },
    submitcheckval() {
      addBigPositive(this.formIn).then(res => {
      addBigPositive(this.formIn).then((res) => {
        this.$modal.msgSuccess("新增成功");
        this.getParentIdsss()
        this.getParentIdsss();
        this.checkval = false;
      })
      });
    },
    cancell() {
      this.checkval = false;
@@ -819,48 +1107,48 @@
    Hzlog(val) {
      let data = {
        tjNumber: val
      }
      listHzlog(data).then(response => {
        tjNumber: val,
      };
      listHzlog(data).then((response) => {
        this.hzlogList = response.rows;
        this.hzlogList.forEach(item => {
          item.hzDeptName = ""
        this.hzlogList.forEach((item) => {
          item.hzDeptName = "";
          if (item.hzType == "0") {
            item.hzDeptName = "全院会诊"
            item.hzDeptName = "全院会诊";
          } else {
            item.hzDeptIdList.forEach(item1 => {
              this.deptList.forEach(item2 => {
            item.hzDeptIdList.forEach((item1) => {
              this.deptList.forEach((item2) => {
                if (item1 == item2.deptId) {
                  item.hzDeptName += item2.deptName + ","
                  item.hzDeptName += item2.deptName + ",";
                }
              })
            })
              });
            });
          }
        })
        });
      });
    },
    handledele(row) {
      this.id = []
      this.id.push(row.id)
      delHzlog(this.id).then(res => {
      this.id = [];
      this.id.push(row.id);
      delHzlog(this.id).then((res) => {
        this.$modal.msgSuccess("删除成功");
        this.Hzlog(this.form.tjNumber)
      })
        this.Hzlog(this.form.tjNumber);
      });
    },
    hadleedit(row) {
      this.form.hzType = row.hzType
      this.form.id = row.id
      this.form.hzType = row.hzType;
      this.form.id = row.id;
    },
    submitFormapply() {
      console.log(this.form)
      let data = {}
      this.userList.forEach(item1 => {
      console.log(this.form);
      let data = {};
      this.userList.forEach((item1) => {
        if (this.form.hzDoctorId == item1.userId) {
          this.form.hzDoctorName = item1.nickName
          this.form.hzDoctorName = item1.nickName;
        }
      })
      });
      if (this.form.hzType != undefined) {
        if (this.form.hzDeptId && this.form.id) {
          // let hzDeptId = ""
@@ -876,8 +1164,8 @@
            hzType: this.form.hzType,
            orderId: this.form.orderId,
            hzDoctorName: this.form.hzDoctorName,
            id: this.form.id
          }
            id: this.form.id,
          };
        } else {
          data = {
            tjNumber: this.form.tjNumber,
@@ -886,49 +1174,46 @@
            hzDoctorId: this.form.hzDoctorId,
            hzType: this.form.hzType,
            orderId: this.form.orderId,
            hzDoctorName: this.form.hzDoctorName
          }
            hzDoctorName: this.form.hzDoctorName,
          };
        }
        this.$refs["form"].validate((valid) => {
          if (valid) {
            if (this.form.id != null) {
              updateHzlog(data).then(res => {
              updateHzlog(data).then((res) => {
                if (res.code == 200) {
                  this.$modal.msgSuccess("修改成功");
                  this.form = {}
                  this.Hzlog()
                  this.radioChange(1)
                  this.form = {};
                  this.Hzlog();
                  this.radioChange(1);
                }
              })
              });
            } else {
              addHzlog(data).then(res => {
              addHzlog(data).then((res) => {
                if (res.code == 200) {
                  this.$modal.msgSuccess("申请成功");
                  this.form = {}
                  this.Hzlog()
                  this.radioChange(1)
                  this.form = {};
                  this.Hzlog();
                  this.radioChange(1);
                }
              })
              });
              this.open = false;
            }
          }
        })
        });
      } else {
        this.$modal.msgError("请选择会诊科室");
      }
    },
    cancel() {
      this.open = false;
      this.foropen = false;
      this.tuweiopen = false;
    },
    Changeapply() {
      this.foropen = true
      this.Hzlog(this.tableAll.tjNumber)
      this.foropen = true;
      this.Hzlog(this.tableAll.tjNumber);
    },
    submitFormreply() {
      let data = {
@@ -943,13 +1228,12 @@
        hzType: this.allList[0].hzType,
        replyDoctorName: this.nickName,
        replyDeptId: this.deptId,
        replyDoctorId: this.userId
      }
      addReplylog(data).then(res => {
        replyDoctorId: this.userId,
      };
      addReplylog(data).then((res) => {
        this.$modal.msgSuccess("回复成功");
        this.getDept(this.allList[0].tjNumber)
      })
        this.getDept(this.allList[0].tjNumber);
      });
    },
    // 多选框选中数据
@@ -966,33 +1250,33 @@
        });
        //   this.allList = []
        //   if(newRows[0].hzReplyLogsList){
        //     this.hzReplyLogsList = newRows[0].hzReplyLogsList
        //     this.hzReplyLogsList = newRows[0].hzReplyLogsList
        //   }
        //  console.log(this.hzReplyLogsList)
        //   this.allList = newRows
      } else {
        this.allList = []
        this.allList = [];
        if (selection[0]) {
          if (selection[0].hzReplyLogsList) {
            this.hzReplyLogsList = selection[0].hzReplyLogsList
            this.hzReplyLogsList = selection[0].hzReplyLogsList;
          }
        } else {
          this.hzReplyLogsList = []
          this.hzReplyLogsList = [];
        }
        this.allList = selection
        this.allList = selection;
      }
    },
    handlepicture(row) {
      let configKey = "pacsUrl"
      getConfigKey(configKey).then(res => {
        window.open(res.msg, '_blank');
      })
      let configKey = "pacsUrl";
      getConfigKey(configKey).then((res) => {
        window.open(res.msg, "_blank");
      });
    },
    // 点击详情
    handleClick(row) {
      this.getDept(row.tjNumber)
      this.getDept(row.tjNumber);
      this.loading = true;
      this.drawer = true;
      this.tableAll = row;
@@ -1017,7 +1301,7 @@
              this.radio = item.proId;
              this.proId = item.proId;
              // this.radioChange1(item.proId, item);
              this.getParentIdsss()
              this.getParentIdsss();
              getDeptAdvice(this.proId).then((response) => {
                this.deptAdviceList = response.data;
@@ -1030,7 +1314,6 @@
          this.Parent = [];
          this.$modal.msgError("该科室下无项目!");
        }
      });
      getDeptAdvice().then((response) => {
        this.deptAdviceList = response.data;
@@ -1064,7 +1347,7 @@
        if (this.proParentList.xiaoJieIds != null) {
          if (this.proParentList.xiaoJieIds.length != 0) {
            this.proParentList.xiaoJieIds.forEach((item2) => {
              let item = Number(item2)
              let item = Number(item2);
              this.value.push(item);
            });
          }
@@ -1102,33 +1385,32 @@
    getDept(val) {
      let data = {
        tjNumber: val,
        deptId: this.deptId
      }
      hzHasDept(data).then(res => {
        deptId: this.deptId,
      };
      hzHasDept(data).then((res) => {
        if (res.data) {
          this.hasdeptList = res.data
          this.hasdeptList.forEach(item => {
            item.hzDeptName = ""
          this.hasdeptList = res.data;
          this.hasdeptList.forEach((item) => {
            item.hzDeptName = "";
            if (item.hzType == "0") {
              item.hzDeptName = "全院会诊"
              item.hzDeptName = "全院会诊";
            } else {
              item.hzDeptIdList.forEach(item1 => {
                this.deptList.forEach(item2 => {
              item.hzDeptIdList.forEach((item1) => {
                this.deptList.forEach((item2) => {
                  if (item1 == item2.deptId) {
                    item.hzDeptName += item2.deptName + ","
                    item.hzDeptName += item2.deptName + ",";
                  }
                })
              })
                });
              });
            }
          })
          });
        }
      })
      });
    },
    // 按钮点击事件
    radioChange1(proParentId, item) {
      this.Parentcheck = item
      this.Parentcheck = item;
      this.$confirm(
        "检测到体检结果未提交,是否在离开该项目前提交修改?",
        "确认信息",
@@ -1201,7 +1483,7 @@
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  let item = Number(item2);
                  this.value.push(item);
                });
              }
@@ -1255,7 +1537,7 @@
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  let item = Number(item2);
                  this.value.push(item);
                });
              }
src/views/hosp/project/index.vue
@@ -3,33 +3,78 @@
    <el-row :gutter="20">
      <el-col :span="3" :xs="24">
        <div class="head-container">
          <el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search"
            style="margin-bottom: 15px" />
          <el-input
            v-model="deptName"
            placeholder="请输入部门名称"
            clearable
            size="small"
            prefix-icon="el-icon-search"
            style="margin-bottom: 15px"
          />
        </div>
        <div class="head-container">
          <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
            :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId" highlight-current
            @node-click="handleNodeClick" />
          <el-tree
            :data="deptOptions"
            :props="defaultProps"
            :expand-on-click-node="false"
            :filter-node-method="filterNode"
            ref="tree"
            node-key="id"
            :default-expanded-keys="treeId"
            highlight-current
            @node-click="handleNodeClick"
          />
        </div>
      </el-col>
      <el-col :span="20" :xs="24">
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          v-show="showSearch"
          label-width="68px"
        >
          <el-form-item label="项目名称" prop="proName">
            <el-input v-model="queryParams.proName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.proName"
              placeholder="请输入项目名称"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="检查类别" prop="checkType">
            <el-input v-model="queryParams.checkType" placeholder="请输入检查类别" clearable @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.checkType"
              placeholder="请输入检查类别"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-form>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
              v-hasPermi="['hosp:project:add']">新增</el-button>
            <el-button
              type="primary"
              icon="el-icon-plus"
              size="mini"
              @click="handleAdd"
              v-hasPermi="['hosp:project:add']"
              >新增</el-button
            >
          </el-col>
          <!-- <el-col :span="1.5">
        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:project:edit']">修改</el-button>
@@ -38,53 +83,173 @@
        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['hosp:project:remove']">删除</el-button>
      </el-col> -->
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
              v-hasPermi="['hosp:project:export']">导出</el-button>
            <el-button
              type="primary"
              icon="el-icon-download"
              size="mini"
              @click="handleExport"
              v-hasPermi="['hosp:project:export']"
              >导出</el-button
            >
          </el-col>
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
            <el-button
              type="primary"
              icon="el-icon-sort"
              size="mini"
              @click="toggleExpandAll"
              >展开/折叠</el-button
            >
          </el-col>
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
          <right-toolbar
            :showSearch.sync="showSearch"
            @queryTable="getList"
          ></right-toolbar>
        </el-row>
        <el-table v-if="refreshTable" v-loading="loading" :data="projectList" ref="tableRef" border row-key="proId"
          :expand-row-keys="ListId" :row-class-name="selectSingleRow"
          :tree-props="{ children: 'tjProjectList', hasChildren: 'tjProjectList.length>0', }">
        <el-table
          v-if="refreshTable"
          v-loading="loading"
          :data="projectList"
          ref="tableRef"
          border
          row-key="proId"
          :expand-row-keys="ListId"
          :row-class-name="selectSingleRow"
          :tree-props="{
            children: 'tjProjectList',
            hasChildren: 'tjProjectList.length>0',
          }"
        >
          <!-- :show-overflow-tooltip="true"  -->
          <el-table-column label="项目名称" prop="proName" fixed="left" :width="flexColumnWidth('rwdtypeName')" />
          <el-table-column label="项目价格(单位/元)" align="center" prop="proPrice" width="75px"
            :show-overflow-tooltip="true"></el-table-column>
          <el-table-column
            label="项目名称"
            prop="proName"
            fixed="left"
            :width="flexColumnWidth('rwdtypeName')"
          />
          <el-table-column
            label="项目价格(单位/元)"
            align="center"
            prop="proPrice"
            width="75px"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <!-- <el-table-column label="科室名称" align="center" prop="deptName" width="110px" :show-overflow-tooltip="true" /> -->
          <el-table-column label="检查类别" align="center" prop="proCheckType" width="110px" :show-overflow-tooltip="true" />
          <el-table-column label="默认值" align="center" prop="proDefault" width="110px" :show-overflow-tooltip="true" />
          <el-table-column label="临床意义" align="center" prop="proMeaning" width="350px" :show-overflow-tooltip="true" />
          <el-table-column
            label="检查类别"
            align="center"
            prop="proCheckType"
            width="110px"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="默认值"
            align="center"
            prop="proDefault"
            width="110px"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="临床意义"
            align="center"
            prop="proMeaning"
            width="350px"
            :show-overflow-tooltip="true"
          />
          <!-- <el-table-column label="检查方式" align="center" prop="proCheckMethod" :show-overflow-tooltip="true"
            width="110px" /> -->
          <el-table-column label="是否空腹" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px">
          <el-table-column
            label="是否空腹"
            align="center"
            prop="proCheckMethod"
            :show-overflow-tooltip="true"
            width="110px"
          >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" />
              <dict-tag
                :options="dict.type.sys_yes_no"
                :value="scope.row.proCheckMethod"
              />
            </template>
          </el-table-column>
          <el-table-column label="项目标准值" align="center" prop="proScope" :show-overflow-tooltip="true" width="90px">
          <el-table-column
            label="项目标准值"
            align="center"
            prop="proScope"
            :show-overflow-tooltip="true"
            width="90px"
          >
          </el-table-column>
          <el-table-column label="项目类型" align="center" prop="resultType" width="110px" :show-overflow-tooltip="true">
          <el-table-column
            label="项目类型"
            align="center"
            prop="resultType"
            width="110px"
            :show-overflow-tooltip="true"
          >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.tj_result_type" :value="scope.row.resultType" />
              <dict-tag
                :options="dict.type.tj_result_type"
                :value="scope.row.resultType"
              />
            </template>
          </el-table-column>
          <el-table-column label="备注" prop="remark" align="center" width="120px" :show-overflow-tooltip="true">
          <el-table-column
            label="备注"
            prop="remark"
            align="center"
            width="120px"
            :show-overflow-tooltip="true"
          >
          </el-table-column>
          <el-table-column label="状态" align="center" prop="proStatus" fixed="right" width="80px">
          <el-table-column
            label="状态"
            align="center"
            prop="proStatus"
            fixed="right"
            width="80px"
          >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.proStatus" />
              <dict-tag
                :options="dict.type.sys_normal_disable"
                :value="scope.row.proStatus"
              />
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="80px">
          <el-table-column
            label="操作"
            align="center"
            fixed="right"
            class-name="small-padding fixed-width"
            width="80px"
          >
            <template slot-scope="scope">
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
                v-hasPermi="['hosp:project:edit']" title="修改"></el-button>
              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
                v-hasPermi="['hosp:project:remove']" title="删除"></el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['hosp:project:edit']"
                title="修改"
              ></el-button>
              <el-button
                v-if="scope.row.proParentId == '0'"
                size="mini"
                type="text"
                icon="el-icon-plus"
                @click="handleAdd(scope.row)"
                v-hasPermi="['system:dept:add']"
                title="增加"
              ></el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                v-hasPermi="['hosp:project:remove']"
                title="删除"
              ></el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -92,14 +257,37 @@
    </el-row>
    <!-- 添加或修改体检项目对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :before-close="handleClose">
      <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1200px"
      append-to-body
      :before-close="handleClose"
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        label-width="100px"
        :inline="true"
      >
        <el-form-item label="主项名称" prop="proParentId">
          <treeselect v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" :show-count="true"
            placeholder="选择主项名称" style="width: 200px" @select="obtain" />
          <treeselect
            v-model="form.proParentId"
            :options="projectOptions"
            :normalizer="normalizer"
            :show-count="true"
            placeholder="选择主项名称"
            style="width: 260px"
            @select="obtain"
          />
        </el-form-item>
        <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'">
          <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="getDetailed">
          <span
            slot="label"
            style="display: inline-block; border-bottom: 2px solid blue"
            @click="getDetailed"
          >
            明细项目
            <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom">
              <i class='el-icon-question' @click="getDetailed" />
@@ -117,15 +305,27 @@
          <el-input v-model="form.proPrice" placeholder="请输入项目价格" />
        </el-form-item>
        <el-form-item label="检查类别" prop="proCheckType">
          <el-input v-model="form.proCheckType" placeholder="请输入检查类别" />
          <el-input
            v-model="form.proCheckType"
            placeholder="请输入检查类别"
            style="width: 260px"
          />
        </el-form-item>
        <el-form-item label="临床意义" prop="proMeaning">
          <el-input v-model="form.proMeaning" placeholder="请输入临床意义" />
        </el-form-item>
        <el-form-item label="是否空腹" prop="proCheckMethod">
          <el-select v-model="form.proCheckMethod" placeholder="请选择是否空腹" style="width: 200px">
            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.proCheckMethod"
            placeholder="请选择是否空腹"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <!-- <el-form-item label="空腹" prop="isEat">
@@ -135,9 +335,17 @@
          </el-select>
        </el-form-item> -->
        <el-form-item label="性别" prop="proSex">
          <el-select v-model="form.proSex" placeholder="请选择体检人性别" style="width: 200px">
            <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.proSex"
            placeholder="请选择体检人性别"
            style="width: 260px"
          >
            <el-option
              v-for="dict in dict.type.sys_user_sex"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="项目类型" prop="proType">
@@ -145,53 +353,151 @@
        </el-form-item>
        <el-form-item label="科室名称" prop="deptId">
          <el-select v-model="form.deptId" placeholder="请选择科室名称" @change="changeValue" filterable style="width: 205px">
            <el-option v-for="dict in parentNameList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId" />
          <el-select
            v-model="form.deptId"
            placeholder="请选择科室名称"
            @change="changeValue"
            filterable
            style="width: 205px"
          >
            <el-option
              v-for="dict in parentNameList"
              :key="dict.deptId"
              :label="dict.deptName"
              :value="dict.deptId"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="启用标志" prop="proStatus">
          <el-select v-model="form.proStatus" placeholder="请选择状态" style="width: 200px" filterable clearable>
            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select> </el-form-item>
          <el-select
            v-model="form.proStatus"
            placeholder="请选择状态"
            style="width: 260px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_normal_disable"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="项目默认值" prop="proDefault">
          <el-input v-model="form.proDefault" placeholder="请输入项目默认值" style="width: 200px" />
          <el-input
            v-model="form.proDefault"
            placeholder="请输入项目默认值"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="采样标记" prop="isSampling">
          <el-select v-model="form.isSampling" placeholder="请选择采样标记" style="width: 210px" filterable clearable>
            <el-option v-for="dict in dict.type.dis_sampling_tab" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.isSampling"
            placeholder="请选择采样标记"
            style="width: 210px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.dis_sampling_tab"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="标本类型" prop="specimenType">
          <el-select v-model="form.specimenType" placeholder="请选择标本类型" style="width: 200px" filterable clearable>
            <el-option v-for="dict in dict.type.sys_dict_specimen" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select> </el-form-item>
        <el-form-item label="检查部位" prop="checkBw">
          <el-select v-model="form.checkBw" placeholder="请选择检查部位" style="width: 200px" filterable clearable>
            <el-option v-for="dict in dict.type.sys_dict_position" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select> </el-form-item>
        <el-form-item label="结果类型" prop="resultType">
          <el-select v-model="form.resultType" placeholder="请选择结果类型" style="width: 210px" filterable clearable>
            <el-option v-for="dict in dict.type.tj_result_type" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select> </el-form-item>
        <el-form-item label="备注" prop="proRemark">
          <el-input v-model="form.proRemark" placeholder="请输入备注" style="width: 510px" />
          <el-select
            v-model="form.specimenType"
            placeholder="请选择标本类型"
            style="width: 260px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_dict_specimen"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="检查部位" prop="checkBw">
          <el-select
            v-model="form.checkBw"
            placeholder="请选择检查部位"
            style="width: 200px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_dict_position"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="结果类型" prop="resultType">
          <el-select
            v-model="form.resultType"
            placeholder="请选择结果类型"
            style="width: 210px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.tj_result_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="备注" prop="proRemark">
          <el-input
            v-model="form.proRemark"
            placeholder="请输入备注"
            style="width: 510px"
          />
        </el-form-item>
      </el-form>
      <el-button style="margin-left: 40px" type="primary" plain size="mini" icon="el-icon-plus"
        @click="addmembers">新增行</el-button>
      <el-button
        style="margin-left: 40px"
        type="primary"
        plain
        size="mini"
        icon="el-icon-plus"
        @click="addmembers"
        >新增行</el-button
      >
      <!-- 耗材表 -->
      <el-table :data="form.consumablesList" border style="margin-top: 10px; margin-left: 40px; width: 890px"
        v-if="showPrise">
        <el-table-column label="耗材名称" align="center" prop="makings" width="200px">
      <el-table
        :data="form.consumablesList"
        border
        style="margin-top: 10px; margin-left: 40px; width: 890px"
        v-if="showPrise"
      >
        <el-table-column
          label="耗材名称"
          align="center"
          prop="makings"
          width="200px"
        >
          <template slot-scope="scope">
            <el-select filterable v-model="scope.row.makings" placeholder="请选择收费项目" @change="getSelectValue">
              <el-option v-for="(item, index) in consumableList" :key="index" :label="item.makings" :value="item.makings">
            <el-select
              filterable
              v-model="scope.row.makings"
              placeholder="请选择收费项目"
              @change="getSelectValue"
            >
              <el-option
                v-for="(item, index) in consumableList"
                :key="index"
                :label="item.makings"
                :value="item.makings"
              >
              </el-option>
            </el-select>
          </template>
@@ -200,51 +506,109 @@
        </el-table-column>
        <el-table-column label="价格" align="center" prop="price">
        </el-table-column>
        <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
        <el-table-column
          label="操作"
          align="center"
          fixed="right"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-delete"
              @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']"
              title="删除"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
      <!-- 项目标准值表 -->
      <el-table :data="form.tjStandardList" border style="margin-top: 10px; margin-left: 40px; width: 890px"
        v-if="showRentPrise">
      <el-table
        :data="form.tjStandardList"
        border
        style="margin-top: 10px; margin-left: 40px; width: 890px"
        v-if="showRentPrise"
      >
        <el-table-column label="体检人性别" align="center" prop="tjSex">
          <template slot-scope="scope">
            <el-select v-model="scope.row.tjSex" placeholder="请选择体检人性别">
              <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
              <el-option
                v-for="dict in dict.type.sys_user_sex"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="体检人类型" align="center" prop="tjType">
          <template slot-scope="scope">
            <el-select filterable v-model="scope.row.tjType" placeholder="请选择体检人类型">
              <el-option v-for="dict in dict.type.dict_personnel_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            <el-select
              filterable
              v-model="scope.row.tjType"
              placeholder="请选择体检人类型"
            >
              <el-option
                v-for="dict in dict.type.dict_personnel_type"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="单位" align="center" prop="company">
          <template slot-scope="scope">
            <el-input v-model="scope.row.company" autocomplete="off" placeholder="请输入内容"></el-input>
            <el-input
              v-model="scope.row.company"
              autocomplete="off"
              placeholder="请输入内容"
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column label="标准最小值" align="center" prop="tjStandardLtValue">
        <el-table-column
          label="标准最小值"
          align="center"
          prop="tjStandardLtValue"
        >
          <template slot-scope="scope">
            <el-input v-model="scope.row.tjStandardLtValue" autocomplete="off" placeholder="请输入标准最小值"></el-input>
            <el-input
              v-model="scope.row.tjStandardLtValue"
              autocomplete="off"
              placeholder="请输入标准最小值"
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column label="标准最大值" align="center" prop="tjStandardGtValue">
        <el-table-column
          label="标准最大值"
          align="center"
          prop="tjStandardGtValue"
        >
          <template slot-scope="scope">
            <el-input v-model="scope.row.tjStandardGtValue" autocomplete="off" placeholder="请输入标准最大值"></el-input>
            <el-input
              v-model="scope.row.tjStandardGtValue"
              autocomplete="off"
              placeholder="请输入标准最大值"
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
        <el-table-column
          label="操作"
          align="center"
          fixed="right"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-delete"
              @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']"
              title="删除"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -255,40 +619,82 @@
    </el-dialog>
    <el-dialog title="收费项目" :visible.sync="dialogTableVisible" width="80%">
      <div class="app-container">
        <el-row :gutter="24">
          <!--部门数据-->
          <el-col :span="6" :xs="24">
            <div style="height:560px;overflow-y: scroll;">
            <div style="height: 560px; overflow-y: scroll">
              <div class="head-container">
                <el-input v-model="xmmc" placeholder="请输入项目编码" clearable size="small" prefix-icon="el-icon-search"
                  style="margin-bottom: 20px" />
                <el-input
                  v-model="xmmc"
                  placeholder="请输入项目编码"
                  clearable
                  size="small"
                  prefix-icon="el-icon-search"
                  style="margin-bottom: 20px"
                />
              </div>
              <div id="changtree">
                <el-tree ref="tree" node-key="id" highlight-current :default-expanded-keys="chargeId"
                  :data="deptOptionstree" :props="defaultPropstree" :expand-on-click-node="false"
                  :auto-expand-parent="false" :filter-node-method="filterNode2" @node-click="handleNodecharge" />
                <el-tree
                  ref="tree"
                  node-key="id"
                  highlight-current
                  :default-expanded-keys="chargeId"
                  :data="deptOptionstree"
                  :props="defaultPropstree"
                  :expand-on-click-node="false"
                  :auto-expand-parent="false"
                  :filter-node-method="filterNode2"
                  @node-click="handleNodecharge"
                />
              </div>
            </div>
          </el-col>
          <el-col :span="18" :xs="24">
            <el-form :model="querycharge" ref="queryForm" size="small" :inline="true" v-show="showSearch"
              label-width="68px">
            <el-form
              :model="querycharge"
              ref="queryForm"
              size="small"
              :inline="true"
              v-show="showSearch"
              label-width="68px"
            >
              <el-form-item label="项目名称" prop="xmmc">
                <el-input v-model="querycharge.xmmc" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery" />
                <el-input
                  v-model="querycharge.xmmc"
                  placeholder="请输入项目名称"
                  clearable
                  @keyup.enter.native="handlecharge"
                />
              </el-form-item>
              <el-form-item label="拼音码" prop="pym">
                <el-input v-model="querycharge.pym" placeholder="请输入拼音码" clearable @keyup.enter.native="handleQuery" />
                <el-input
                  v-model="querycharge.pym"
                  placeholder="请输入拼音码"
                  clearable
                  @keyup.enter.native="handlecharge"
                />
              </el-form-item>
              <el-form-item>
                <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">搜索</el-button>
                <el-button
                  type="primary"
                  icon="el-icon-search"
                  size="mini"
                  @click="handlecharge"
                  >搜索</el-button
                >
              </el-form-item>
            </el-form>
            <el-table v-loading="loading" ref="tb" :data="sfxmList" @selection-change="handleSelectionChange" border
              height="520px" style="width: 100%">
            <el-table
              v-loading="loading"
              ref="tb"
              :data="sfxmList"
              @selection-change="handleSelectionChange"
              border
              height="520px"
              style="width: 100%"
            >
              <el-table-column type="selection" align="center" />
              <el-table-column label="序号" align="center" prop="newID" />
              <el-table-column label="项目编码" align="center" prop="xmbm" />
@@ -296,22 +702,48 @@
              <el-table-column label="拼音码" align="center" prop="pym" />
              <!-- <el-table-column label="五笔码" align="center" prop="wbm"  /> -->
              <el-table-column label="参考单价" align="center" prop="ckdj" />
              <el-table-column label="一级最高限价" align="center" prop="yjzgxj" />
              <el-table-column label="二级最高限价" align="center" prop="ejzgxj" />
              <el-table-column label="三级最高限价" align="center" prop="sjzgxj" />
              <el-table-column label="特定最高限价" align="center" prop="tdzgxj" />
              <el-table-column
                label="一级最高限价"
                align="center"
                prop="yjzgxj"
              />
              <el-table-column
                label="二级最高限价"
                align="center"
                prop="ejzgxj"
              />
              <el-table-column
                label="三级最高限价"
                align="center"
                prop="sjzgxj"
              />
              <el-table-column
                label="特定最高限价"
                align="center"
                prop="tdzgxj"
              />
            </el-table>
            <div class="pag" v-if="List == true">
              <div class="pag1">
                <pagination v-show="total > 0" :total="total" :page.sync="querycharge.pageNum"
                  :limit.sync="querycharge.pageSize" @pagination="getlistSfxm" />
                <pagination
                  v-show="total > 0"
                  :total="total"
                  :page.sync="querycharge.pageNum"
                  :limit.sync="querycharge.pageSize"
                  @pagination="getlistSfxm"
                />
              </div>
            </div>
            <div class="pag" v-if="List == false">
              <div class="pag1">
                <pagination v-show="total > 0" :total="total" :page.sync="querycharge.page"
                  :limit.sync="querycharge.pageSize" @pagination="getListByXmId" />
                <pagination
                  v-show="total > 0"
                  :total="total"
                  :page.sync="querycharge.page"
                  :limit.sync="querycharge.pageSize"
                  @pagination="getListByXmId"
                />
              </div>
            </div>
          </el-col>
@@ -348,22 +780,32 @@
  addSfxm,
  updateSfxm,
  gettreeList,
  getListByXmId
  getListByXmId,
} from "@/api/system/sfxm";
export default {
  name: "Project",
  dicts: ["sys_normal_disable", "dict_personnel_type", "sys_user_sex", "tj_result_type", "dis_sampling_tab", "sys_dict_specimen", "sys_dict_position", "tj_result_type", "sys_yes_no"],
  dicts: [
    "sys_normal_disable",
    "dict_personnel_type",
    "sys_user_sex",
    "tj_result_type",
    "dis_sampling_tab",
    "sys_dict_specimen",
    "sys_dict_position",
    "tj_result_type",
    "sys_yes_no",
  ],
  components: { Treeselect, IconSelect },
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      } else if (!patter.test(value)) {
        return callback('');
        return callback("");
      }
    };
    return {
@@ -463,9 +905,7 @@
        proPrice: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        deptId: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        deptId: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
        // proStandard: [
        //   { required: true, message: "项目标准值不能为空", trigger: "blur" },
        // ],
@@ -481,7 +921,7 @@
      if (newVal) {
        this.$nextTick(() => {
          document
            .querySelector('.el-tree-node__children .el-tree-node__content')
            .querySelector(".el-tree-node__children .el-tree-node__content")
            .click();
        });
      }
@@ -495,11 +935,13 @@
        this.$nextTick(() => {
          // document.getElementById("changtree").click();;
          document
            .querySelector('#changtree .el-tree-node__children .el-tree-node.is-focusable .el-tree-node__content')
            .querySelector(
              "#changtree .el-tree-node__children .el-tree-node.is-focusable .el-tree-node__content"
            )
            .click();
        });
      }
    }
    },
  },
  created() {
@@ -508,9 +950,8 @@
    this.getDeptTree();
  },
  methods: {
    //是否显示选中的值
    display(value) { },
    display(value) {},
    /** 查询体检项目列表 */
    getList() {
      // this.loading = true;
@@ -542,22 +983,33 @@
    },
    /** 新增按钮操作 */
    handleAdd() {
    handleAdd(row) {
      this.reset();
      this.getData();
      // if (row != null && row.proId) {
      //   this.form.proParentId = row.proId;
      // } else {
      //   this.form.proParentId = 0;
      // }
      this.open = true;
      this.loading = true;
      ProjectTree().then((response) => {
        if (response.code == 200) {
          this.projectOptions = [];
          const project = { proId: 0, proName: "主类目", children: [] };
          project.children = this.handleTree(response.data.list, "proId");
          this.key = response.data.key;
          this.projectOptions.push(project);
          if (row) {
            this.form.proParentId = row.proId;
            this.open = true;
          } else {
            this.open = true;
          }
          this.loading = false;
        }
      });
      this.title = "体检项目信息维护";
      this.form.deptId = this.queryParams.deptId
      this.form.proCheckMethod = "N"
      if (this.key = "Y") {
      this.form.deptId = this.queryParams.deptId;
      this.form.proCheckMethod = "N";
      if ((this.key = "Y")) {
        gettreeList().then((response) => {
          this.deptOptionstree = response.data;
          this.chargeId.push(this.deptOptionstree[0].id)
          this.chargeId.push(this.deptOptionstree[0].id);
        });
      }
    },
@@ -567,14 +1019,14 @@
      if (this.selectList) {
        if (this.selectList.proName === "主类目") {
          this.dialogTableVisible = false;
        }else{
        } else {
          this.dialogTableVisible = true;
          this.getlistSfxm()
          this.getlistSfxm();
        }
      } else if (this.form.proParentId) {
        if (this.form.proParentId != 0) {
          this.dialogTableVisible = true;
          this.getlistSfxm()
          this.getlistSfxm();
        } else if (this.form.proParentId == 0) {
          this.dialogTableVisible = false;
        }
@@ -586,7 +1038,7 @@
    obtain(vals) {
      if (this.projectOptions) {
        this.selectList = vals;
        console.log(this.selectList)
        console.log(this.selectList);
      }
      if (this.selectList.proName === "主类目") {
        this.showPrise = true;
@@ -598,11 +1050,14 @@
    },
    getlistSfxm() {
      this.loading = true;
      this.List = true
      this.List = true;
      listSfxm(this.querycharge).then((response) => {
        this.sfxmList = response.rows;
        response.rows.forEach((item, index) => {
          item.newID = (this.querycharge.pageNum - 1) * this.querycharge.pageSize + index + 1;
          item.newID =
            (this.querycharge.pageNum - 1) * this.querycharge.pageSize +
            index +
            1;
        });
        this.total = response.total;
        this.loading = false;
@@ -611,14 +1066,14 @@
    // input弹框搜索
    handlecharge() {
      this.querycharge.pageNum = 1;
      this.List = true
      this.getlistSfxm()
      this.List = true;
      this.getlistSfxm();
    },
    handleNodecharge(data) {
      this.queryParam.id = data.id;
      this.List = false
      this.getListByXmId()
      this.List = false;
      this.getListByXmId();
    },
    getListByXmId() {
@@ -626,7 +1081,8 @@
      getListByXmId(this.queryParam).then((response) => {
        this.sfxmList = response.data.date;
        response.data.date.forEach((item, index) => {
          item.newID = (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1;
          item.newID =
            (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1;
        });
        this.total = response.data.total;
        this.loading = false;
@@ -651,7 +1107,7 @@
        this.projectOptions = [];
        const project = { proId: 0, proName: "主类目", children: [] };
        project.children = this.handleTree(response.data.list, "proId");
        this.key = response.data.key
        this.key = response.data.key;
        // if (this.key == "Y") {
        //   this.key = response.data.key
        // } else if (response.data.key == "N") {
@@ -671,7 +1127,7 @@
    getDeptTree() {
      deptTree().then((response) => {
        this.deptOptions = response.data;
        this.treeId.push(this.deptOptions[0].id)
        this.treeId.push(this.deptOptions[0].id);
      });
    },
@@ -692,17 +1148,16 @@
      let data = {
        deptId: this.queryParams.deptId,
      };
      this.loading = true
      this.loading = true;
      ProjectTree(data).then((response) => {
        if (response.code == 200) {
          if (response.data.list.length >= 1) {
            this.projectList = this.handleTree(response.data.list, "proId");
            this.ListId.push(this.projectList[0].proId)
            this.key = response.data.key
            this.ListId.push(this.projectList[0].proId);
            this.key = response.data.key;
          } else {
            this.projectList = []
            this.projectList = [];
          }
          // if (this.key == "Y") {
          //   this.key = response.data.key
@@ -711,14 +1166,13 @@
          // }
          this.loading = false;
        }
      });
    },
    selectSingleRow({ row, rowIndex }) {
      if (rowIndex === 1) {
        return 'warning-row';
        return "warning-row";
      }
      return '';
      return "";
    },
    /** 展开/折叠操作 */
@@ -739,14 +1193,14 @@
      };
      ProjectTree(data).then((response) => {
        this.projectList = this.handleTree(response.data.list, "proId");
        this.ListId.push(this.projectList[0].proId)
        this.key = response.data.key
        this.ListId.push(this.projectList[0].proId);
        this.key = response.data.key;
        this.loading = false;
      });
    },
    handleClose() {
      this.cancel()
      this.cancel();
    },
    // 表单重置
    reset() {
@@ -788,27 +1242,25 @@
      this.handleQuery();
    },
    flexColumnWidth(column) {
      if (!column) {
        return;
      }
      let maxlength = 160;//在此处设置默认宽度
      if (column == 'rwdtypeName') {
      let maxlength = 160; //在此处设置默认宽度
      if (column == "rwdtypeName") {
        //在此处为了保证表头不换行,可以根据表头名称长度设置默认宽度
        // column1 就是对应表格中的prop属性值,比如上面的 rwdtypeName
        maxlength = 160;
      }
      for (let i = 0; i < this.projectList.length; i++) {
        if (this.projectList[i][column]) {
          let now_temp = this.projectList[i][column] + '';
          let now_temp = this.projectList[i][column] + "";
          let flexWidth = 0;
          for (const char of now_temp) {
            if (char >= 'A' && char <= 'Z' || char >= 'a' && char <= 'z') {
            if ((char >= "A" && char <= "Z") || (char >= "a" && char <= "z")) {
              //英文字母 8 像素
              flexWidth += 8;
            } else if (char >= '\u4e00' && char <= '\u9fa5') {
            } else if (char >= "\u4e00" && char <= "\u9fa5") {
              //中文文字 15 像素
              flexWidth += 15;
            } else {
@@ -822,12 +1274,12 @@
        }
      }
      //el-table中 cell 有左右的 padding 个 10 像素
      return maxlength + 20 + 'px';
      return maxlength + 20 + "px";
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ChangeList = selection
      this.ChangeList = selection;
      this.ids = selection.map((item) => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
@@ -836,9 +1288,6 @@
        this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
    },
    // 新增行
    addmembers() {
@@ -922,7 +1371,7 @@
          this.showPrise = false;
          this.showRentPrise = true;
        }
        this.form.deptId = Number(this.form.deptId)
        this.form.deptId = Number(this.form.deptId);
        if (this.form.proStatus === 0) {
          this.form.proStatus = "启用";
        } else {
@@ -1049,7 +1498,7 @@
              }
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel()
                this.cancel();
              });
            } else {
              if (this.form.proParentId === 0) {
@@ -1069,14 +1518,14 @@
                }
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel()
                  this.cancel();
                });
              }
            }
          }
        });
      } else if (this.key == "Y") {
        this.form.sfxmId = this.sfxmId
        this.form.sfxmId = this.sfxmId;
        this.$refs["form"].validate((valid) => {
          if (valid) {
            if (this.form.proId != null) {
@@ -1119,7 +1568,7 @@
              }
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel()
                this.cancel();
              });
            } else {
              if (this.form.proParentId === 0) {
@@ -1139,24 +1588,23 @@
                }
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel()
                  this.cancel();
                });
              }
            }
          }
        });
      }
    },
    // 收费项目确认
    submit() {
      this.ChangeList.forEach(item => {
        this.form.proName = item.xmmc
        this.form.proPrice = item.ckdj
        this.sfxmId = parseInt(item.id)
      })
      this.dialogTableVisible = false
      this.ChangeList.forEach((item) => {
        this.form.proName = item.xmmc;
        this.form.proPrice = item.ckdj;
        this.sfxmId = parseInt(item.id);
      });
      this.dialogTableVisible = false;
    },
    /** 删除按钮操作 */
    handleDelete(row) {
@@ -1176,7 +1624,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
@@ -1189,8 +1637,7 @@
      );
    },
  },
}
};
</script>
<style scoped>
.el-table__header-wrapper .el-checkbox {
@@ -1216,8 +1663,8 @@
  background: #e5f3ff;
}
.el-tree-node.is-current>.el-tree-node__content {
.el-tree-node.is-current > .el-tree-node__content {
  background-color: #e5f3ff !important;
  color: #333 !important
  color: #333 !important;
}
</style>
src/views/picture/music/index.vue
@@ -232,64 +232,58 @@
      <div class="tanchuangbox">
        <div class="tanchuangbox_left">
          <el-form
            :model="row"
            :model="queryParams"
            ref="queryForm"
            size="small"
            :inline="true"
            v-show="showSearch"
            label-width="68px"
          >
            <el-form-item label="单位名称" prop="tjNum">
              <el-input
                v-model="queryParams.tjNum"
                placeholder="请输入单位名称"
                clearable
                style="width: 150px"
                disabled
              />
            </el-form-item>
            <el-form-item label="单位工种" prop="name">
              <el-input
                v-model="queryParams.name"
                placeholder="请输入单位工种"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
            <el-form-item label="姓名" prop="cusName">
            <el-form-item label="姓名" prop="name">
              <el-input
                v-model="row.cusName"
                v-model="queryParams.name"
                placeholder="请输入姓名"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
            <el-form-item label="性别" prop="cusSex">
              <el-select
                disabled
                v-model="row.cusSex"
                placeholder="请选择性别"
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.sys_user_sex"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="年龄" prop="age">
            <el-form-item label="性别" prop="name">
              <el-input
                v-model="row.age"
                v-model="queryParams.name"
                placeholder="请输入性别"
                clearable
                style="width: 150px"
              />
            </el-form-item>
            <el-form-item label="年龄" prop="name">
              <el-input
                v-model="queryParams.name"
                placeholder="请输入年龄"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
            <el-form-item label="身份证号" prop="cusIdcard">
            <el-form-item label="身份证号" prop="name">
              <el-input
                v-model="row.cusIdcard"
                v-model="queryParams.name"
                placeholder="请输入身份证号"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
@@ -297,7 +291,7 @@
              <el-input
                v-model="queryParams.name"
                placeholder="请输入体检日期"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
@@ -305,7 +299,7 @@
              <el-input
                v-model="queryParams.name"
                placeholder="请输入体检类型"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
@@ -313,7 +307,7 @@
              <el-input
                v-model="queryParams.name"
                placeholder="请输入工龄"
                disabled
                clearable
                style="width: 150px"
              />
            </el-form-item>
@@ -399,11 +393,7 @@
          </div>
        </div>
        <div class="tanchuangbox_right">
          <div>
            <span>职业史</span>
            <div style="width:100%;min-height:300px"></div>
          </div>
          <div style="display: flex; margin-top: 20px">
          <div style="display: flex;margin-top:20px">
            <div
              style="
                width: 50px;
@@ -474,14 +464,11 @@
          </div>
          <div style="margin-top: 20px">
            <span>检查医生:</span>
            <el-input
              v-model="input"
              style="width: 160px; margin-right: 10px"
            ></el-input>
            <el-input v-model="input" style="width: 160px;margin-right:10px"></el-input>
            <el-date-picker v-model="value1" type="date" placeholder="选择日期">
            </el-date-picker>
          </div>
          <div style="margin-top: 20px">
          <div style="margin-top:20px">
            <el-button type="primary">生成小结</el-button>
            <el-button type="primary">保存</el-button>
          </div>
@@ -528,34 +515,7 @@
  components: { Public },
  data() {
    return {
      row: {},
      value1: "",
      zhexianList: [
        {
          date: 500,
          bgcoun:3,
        },
        {
          date: 1000,
          bgcoun:32,
        },
        {
          date: 2000,
          bgcoun:31,
        },
        {
          date: 3000,
          bgcoun:43,
        },
        {
          date: 4000,
          bgcoun:13,
        },
        {
          date: 6000,
          bgcoun:32,
        },
      ],
      value1:"",
      tableData: [
        {
          date: "1",
@@ -648,10 +608,11 @@
  },
  created() {
    this.getList();
  },
  methods: {
    handleRowClick(selection) {
      this.row = selection.customer;
    handleRowClick(selection){
      console.log(selection);
      this.drawer = true;
      this.getech();
    },
@@ -678,85 +639,6 @@
        this.loading = false;
      });
      // 折线图
      //  this.zhexianList.forEach((item) => {
      //     this.LineChart.push(item.date);
      //     console.log(this.LineChart,111);
      //     // this.personYYNum.push(item.tdcoun);
      //     // this.reportNum.push(item.grcoun);
      //     this.teamYYNum.push(item.bgcoun);
      //     console.log(this.teamYYNum,222);
      //   });
      //   let myChart = this.$echarts.init(document.getElementById("main"));
      //   myChart.setOption({
      //     title: {
      //       text: "右耳原始听力",
      //     },
      //     tooltip: {
      //       trigger: "axis",
      //     },
      //     // legend: {
      //     //   data: ["每日体检登记数", "每日团体登记数", "每日发布报告数"],
      //     // },
      //     grid: {
      //       left: "3%",
      //       right: "4%",
      //       bottom: "3%",
      //       containLabel: true,
      //     },
      //     toolbox: {
      //       feature: {
      //         saveAsImage: {},
      //       },
      //     },
      //     xAxis: {
      //       type: "category",
      //       boundaryGap: false,
      //       axisLine: {
      //         show: true,
      //         lineStyle: {
      //           color: "blue",
      //           size: 12,
      //           width: 0,
      //           tyle: "solid",
      //         },
      //       },
      //       data: this.LineChart,
      //     },
      //     yAxis: {
      //       type: "value",
      //       min: 0,
      //       max: 50,
      //       interval: 5,
      //     },
      //     series: [
      //       // {
      //       //   name: "每日体检登记数",
      //       //   type: "line",
      //       //   stack: "Total",
      //       //   data: this.personYYNum,
      //       // },
      //       // {
      //       //   name: "每日团体登记数",
      //       //   type: "line",
      //       //   stack: "Total",
      //       //   data: this.reportNum,
      //       // },
      //       {
      //         name: "实测气导值",
      //         type: "line",
      //         stack: "Total",
      //         data: this.teamYYNum,
      //       },
      //     ],
      //   });
      //   let sizeFun = function () {
      //     myChart.resize();
      //   };
      //   window.addEventListener("resize", sizeFun);
      //   this.loading = false;
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
@@ -768,7 +650,7 @@
        myChart.setOption({
          title: {
            text: "左耳原始听力",
            text: "右耳原始听力",
          },
          tooltip: {
            trigger: "axis",
@@ -835,6 +717,7 @@
        this.loading = false;
      });
      getChart().then((response) => {
        response.data.forEach((item) => {
          this.LineChart.push(item.date);
src/views/system/dept/index.vue
@@ -3,70 +3,210 @@
    <el-row :gutter="20">
      <el-col :span="3" :xs="24">
        <div class="head-container">
          <el-input v-model="deptName" placeholder="请输入科室名称" clearable size="small" prefix-icon="el-icon-search"
            style="margin-bottom: 15px" />
          <el-input
            v-model="deptName"
            placeholder="请输入科室名称"
            clearable
            size="small"
            prefix-icon="el-icon-search"
            style="margin-bottom: 15px"
          />
        </div>
        <div class="head-container">
          <el-tree :data="deptOption" :props="defaultProps" :expand-on-click-node="false" :filter-node-method="filterNode"
            ref="tree" node-key="id" default-expand-all highlight-current @node-click="handleNodeClick" />
          <el-tree
            :data="deptOption"
            :props="defaultProps"
            :expand-on-click-node="false"
            :filter-node-method="filterNode"
            ref="tree"
            node-key="id"
            default-expand-all
            highlight-current
            @node-click="handleNodeClick"
          />
        </div>
      </el-col>
      <el-col :span="20" :xs="24">
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          v-show="showSearch"
        >
          <el-form-item label="科室名称" prop="deptName">
            <el-input v-model="queryParams.deptName" placeholder="请输入科室名称" clearable @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.deptName"
              placeholder="请输入科室名称"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="状态" prop="status">
            <el-select v-model="queryParams.status" placeholder="科室状态" clearable filterable style="width: 100px;">
              <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            <el-select
              v-model="queryParams.status"
              placeholder="科室状态"
              clearable
              filterable
              style="width: 100px"
            >
              <el-option
                v-for="dict in dict.type.sys_normal_disable"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-form>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
              v-hasPermi="['system:dept:add']">新增</el-button>
            <el-button
              type="primary"
              icon="el-icon-plus"
              size="mini"
              @click="handleAdd"
              v-hasPermi="['system:dept:add']"
              >新增</el-button
            >
          </el-col>
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
            <el-button
              type="primary"
              icon="el-icon-sort"
              size="mini"
              @click="toggleExpandAll"
              >展开/折叠</el-button
            >
          </el-col>
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
          <right-toolbar
            :showSearch.sync="showSearch"
            @queryTable="getList"
          ></right-toolbar>
        </el-row>
        <el-table width="60%"  v-if="refreshTable" v-loading="loading" :data="deptList" border row-key="deptId"
          :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" max-height="720px">
        <el-table
          width="60%"
          v-if="refreshTable"
          v-loading="loading"
          :data="deptList"
          border
          row-key="deptId"
          :default-expand-all="isExpandAll"
          :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
          max-height="720px"
        >
          <!-- <el-table-column fixed="left" width="55px" label="序号" align="center" prop="nweID" /> -->
          <el-table-column label="科室名称" align="center" prop="deptName" width="120px" fixed="left"
            :show-overflow-tooltip="true" />
          <el-table-column label="科室编码" align="center" prop="departmentCode" :show-overflow-tooltip="true" width="80px" />
          <el-table-column
            label="科室名称"
            align="center"
            prop="deptName"
            width="120px"
            fixed="left"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="科室编码"
            align="center"
            prop="departmentCode"
            :show-overflow-tooltip="true"
            width="80px"
          />
          <!-- <el-table-column label="排序" align="center" prop="orderNum" width="50px" /> -->
          <el-table-column label="负责人" align="center" prop="leader" />
          <el-table-column label="联系电话" align="center" prop="phone" width="110px" :show-overflow-tooltip="true" />
          <el-table-column label="院区" align="center" prop="hospName" :show-overflow-tooltip="true" />
          <el-table-column label="简介" align="center" prop="peofile" width="200px" :show-overflow-tooltip="true" />
          <el-table-column label="联系人" align="center" prop="contactPerson" :show-overflow-tooltip="true" />
          <el-table-column label="联系人电话" align="center" prop="contactPhone" width="120px" :show-overflow-tooltip="true" />
          <el-table-column label="标准科室" align="center" prop="standardDeptCode" :show-overflow-tooltip="true" />
          <el-table-column label="科室状态" align="center" prop="status" width="100px">
          <el-table-column
            label="联系电话"
            align="center"
            prop="phone"
            width="110px"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="院区"
            align="center"
            prop="hospName"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="简介"
            align="center"
            prop="peofile"
            width="200px"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="联系人"
            align="center"
            prop="contactPerson"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="联系人电话"
            align="center"
            prop="contactPhone"
            width="120px"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="标准科室"
            align="center"
            prop="standardDeptCode"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="科室状态"
            align="center"
            prop="status"
            width="100px"
          >
            <template slot-scope="scope">
              <el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
                @change="handleStatusChange(scope.row)"></el-switch>
              <el-switch
                v-model="scope.row.status"
                active-value="0"
                inactive-value="1"
                @change="handleStatusChange(scope.row)"
              ></el-switch>
            </template>
          </el-table-column>
          <el-table-column fixed="right" label="操作" align="center" class-name="small-padding ">
          <el-table-column
            fixed="right"
            label="操作"
            align="center"
            class-name="small-padding "
          >
            <template slot-scope="scope">
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
                v-hasPermi="['system:dept:edit']" title="修改"></el-button>
              <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"
                v-hasPermi="['system:dept:add']" title="增加"></el-button>
              <el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete"
                @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']" title="删除"></el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:dept:edit']"
                title="修改"
              ></el-button>
              <!-- <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"
                v-hasPermi="['system:dept:add']" title="增加"></el-button> -->
              <el-button
                v-if="scope.row.parentId != 0"
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                v-hasPermi="['system:dept:remove']"
                title="删除"
              ></el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -74,26 +214,61 @@
    </el-row>
    <!-- 添加或修改部门对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="110px" :inline="true">
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1050px"
      append-to-body
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        label-width="110px"
        :inline="true"
      >
        <el-form-item label="上级科室" prop="parentName">
          <el-select v-model="form.parentId" placeholder="请选择上级科室" style="width: 200px" clearable filterable>
            <el-option v-for="dict in deptOption" :key="dict.label" :label="dict.label" :value="dict.id"></el-option>
          <el-select
            v-model="form.parentId"
            placeholder="请选择上级科室"
            style="width: 200px"
            clearable
            filterable
          >
            <el-option
              v-for="dict in deptOption"
              :key="dict.label"
              :label="dict.label"
              :value="dict.id"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="科室名称" prop="deptName">
          <el-input v-model="form.deptName" placeholder="请输入科室名称" />
        </el-form-item>
        <el-form-item label="科室编码" prop="departmentCode">
          <el-input v-model="form.departmentCode" placeholder="请输入科室编码" />
          <el-input
            v-model="form.departmentCode"
            placeholder="请输入科室编码"
          />
        </el-form-item>
        <el-form-item label="显示顺序" prop="orderNum">
          <el-input v-model="form.orderNum" placeholder="请输入显示顺序" />
        </el-form-item>
        <el-form-item label="所属医院" prop="hospName">
          <el-select v-model="form.hospName" placeholder="请选择所属医院" clearable filterable style="width: 200px">
            <el-option v-for="dict in hospList" :key="dict.hospAreaName" :label="dict.hospAreaName"
              :value="dict.hospAreaName" />
          <el-select
            v-model="form.hospName"
            placeholder="请选择所属医院"
            clearable
            filterable
            style="width: 200px"
          >
            <el-option
              v-for="dict in hospList"
              :key="dict.hospAreaName"
              :label="dict.hospAreaName"
              :value="dict.hospAreaName"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="负责人" prop="leader">
@@ -162,12 +337,25 @@
          </el-date-picker>
        </el-form-item> -->
        <el-form-item label="标准科室" prop="standardDeptCode">
          <el-input v-model="form.standardDeptCode" placeholder="请输入标准科室" />
          <el-input
            v-model="form.standardDeptCode"
            placeholder="请输入标准科室"
          />
        </el-form-item>
        <el-form-item label="科室类型" prop="deptTypeCode">
          <el-select v-model="form.parentOrgType" placeholder="请选择科室类型" style="width: 200px" clearable filterable>
            <el-option v-for="dict in dict.type.dict_dept_type" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.parentOrgType"
            placeholder="请选择科室类型"
            style="width: 200px"
            clearable
            filterable
          >
            <el-option
              v-for="dict in dict.type.dict_dept_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <!-- <el-form-item label="重点科室" prop="deptFcusTypeCode">
@@ -176,16 +364,31 @@
          </el-select>
        </el-form-item> -->
        <el-form-item label="简介" prop="peofile">
          <el-input v-model="form.peofile" placeholder="请输入简介" style="width: 525px" /> </el-form-item><br />
          <el-input
            v-model="form.peofile"
            placeholder="请输入简介"
            style="width: 525px"
          /> </el-form-item
        ><br />
        <el-form-item label="科室地址" prop="officialWeb">
          <el-input v-model="form.officialWeb" placeholder="请输入科室地址" />
        </el-form-item>
        <el-form-item label="运营时间" prop="buildDate">
          <el-date-picker style="width: 200px" v-model="form.buildDate" type="date" placeholder="请选择运营时间">
          <el-date-picker
            style="width: 200px"
            v-model="form.buildDate"
            type="date"
            placeholder="请选择运营时间"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item label="停用时间" prop="overDate">
          <el-date-picker style="width: 200px" v-model="form.overDate" type="date" placeholder="请选择停用时间">
          <el-date-picker
            style="width: 200px"
            v-model="form.overDate"
            type="date"
            placeholder="请选择停用时间"
          >
          </el-date-picker>
        </el-form-item>
      </el-form>
@@ -218,14 +421,14 @@
  components: { Treeselect },
  data() {
    let checkPhoneNum = (rule, value, callback) => {
         console.log( value)
      console.log(value);
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
      }  else if(value != undefined && value != ""){
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      }else if (!patter.test(value)) {
        return callback('');
      } else if (!patter.test(value)) {
        return callback("");
      }
    };
    return {
@@ -264,19 +467,19 @@
      // 表单校验
      rules: {
        parentId: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        deptName: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        orderNum: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        departmentCode: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        hospName: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        // email: [
        //   {
@@ -485,9 +688,9 @@
              this.getList();
            });
          } else {
            this.hospList.forEach(element => {
              if(this.form.hospName == element.hospAreaName){
                this.form.hospId = element.hospAreaId
            this.hospList.forEach((element) => {
              if (this.form.hospName == element.hospAreaName) {
                this.form.hospId = element.hospAreaId;
              }
            });
            addDept(this.form).then((response) => {
@@ -510,7 +713,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
  },
};
src/views/system/package/index.vue
@@ -1,41 +1,106 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="套餐名称" prop="pacName">
        <el-input v-model="queryParams.pacName" placeholder="请输入套餐名称" clearable @keyup.enter.native="handleQuery" />
        <el-input
          v-model="queryParams.pacName"
          placeholder="请输入套餐名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="套餐描述" prop="pacRemark">
        <el-input v-model="queryParams.pacRemark" placeholder="请输入套餐描述" clearable @keyup.enter.native="handleQuery" />
        <el-input
          v-model="queryParams.pacRemark"
          placeholder="请输入套餐描述"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="套餐分类" prop="categoryId">
        <el-select v-model="queryParams.categoryId" placeholder="请选择状态" style="width: 200px" filterable clearable>
          <el-option v-for="dict in categoryList" :key="dict.id" :label="dict.name" :value="dict.id"></el-option>
        <el-select
          v-model="queryParams.categoryId"
          placeholder="请选择状态"
          style="width: 200px"
          filterable
          clearable
        >
          <el-option
            v-for="dict in categoryList"
            :key="dict.id"
            :label="dict.name"
            :value="dict.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
          v-hasPermi="['system:package:add']">新增</el-button>
        <el-button
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['system:package:add']"
          >新增</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp"
          v-hasPermi="['system:package:edit']">修改</el-button>
        <el-button
          type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUp"
          v-hasPermi="['system:package:edit']"
          >修改</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
          v-hasPermi="['system:package:remove']">删除</el-button>
        <el-button
          type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['system:package:remove']"
          >删除</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
          v-hasPermi="['system:package:export']">导出</el-button>
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['system:package:export']"
          >导出</el-button
        >
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>
    <!-- 
@@ -43,13 +108,41 @@
    element-loading-spinner="el-icon-loading"
        element-loading-text="正在加载中..." -->
    <template>
      <el-table v-loading="loading" style="width: 100%" :data="packageList" @selection-change="handleSelectionChange"
        border>
        <el-table-column fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" />
        <el-table-column label="序号" align="center" width="50" prop="newID" fixed />
      <el-table
        v-loading="loading"
        style="width: 100%"
        :data="packageList"
        @selection-change="handleSelectionChange"
        border
      >
        <el-table-column
          fixed
          type="selection"
          width="40"
          align="center"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="序号"
          align="center"
          width="50"
          prop="newID"
          fixed
        />
        <!-- <el-table-column label="编号" align="center" prop="pacId" /> -->
        <el-table-column label="套餐名称" align="center" prop="pacName" width="150px" fixed />
        <el-table-column label="单项列表" align="center" prop="allProName" width="1200px">
        <el-table-column
          label="套餐名称"
          align="center"
          prop="pacName"
          width="150px"
          fixed
        />
        <el-table-column
          label="单项列表"
          align="center"
          prop="allProName"
          width="1200px"
        >
        </el-table-column>
        <!-- <el-table-column
          label="项目明细"
@@ -58,7 +151,12 @@
          :show-overflow-tooltip="true"
        > 
        </el-table-column>-->
        <el-table-column label="套餐描述" align="center" :show-overflow-tooltip="true" width="120px">
        <el-table-column
          label="套餐描述"
          align="center"
          :show-overflow-tooltip="true"
          width="120px"
        >
          <template slot-scope="scope">
            <div class="showInline">{{ scope.row.pacRemark }}</div>
          </template>
@@ -77,11 +175,29 @@
        <el-table-column label="价格" width="80px" align="center" prop="price">
        </el-table-column>
        <el-table-column label="套餐分类" width="100px" align="center" prop="categoryNames"></el-table-column>
        <el-table-column label="关键字" width="110px" align="center" prop="keyNames"></el-table-column>
        <el-table-column label="是否上架" width="94px" align="center" prop="isOnSale">
        <el-table-column
          label="套餐分类"
          width="100px"
          align="center"
          prop="categoryNames"
        ></el-table-column>
        <el-table-column
          label="关键字"
          width="110px"
          align="center"
          prop="keyNames"
        ></el-table-column>
        <el-table-column
          label="是否上架"
          width="94px"
          align="center"
          prop="isOnSale"
        >
          <template slot-scope="scope">
            <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" />
            <dict-tag
              :options="dict.type.sys_yes_no"
              :value="scope.row.isOnSale"
            />
          </template>
        </el-table-column>
        <!-- <el-table-column
@@ -91,22 +207,70 @@
          align="center"
          prop="detail"
        ></el-table-column> -->
        <el-table-column label="排序" width="50px" align="center" prop="sort"></el-table-column>
        <el-table-column label="小程序价格" width="90px" align="center" prop="retailPrice"></el-table-column>
        <el-table-column label="原价" width="90px" align="center" prop="counterPrice"></el-table-column>
        <el-table-column label="已售数量" width="90px" align="center" prop="saleNum"></el-table-column>
        <el-table-column label="状态" align="center" prop="pacStatus" fixed="right" width="100px">
        <el-table-column
          label="排序"
          width="50px"
          align="center"
          prop="sort"
        ></el-table-column>
        <el-table-column
          label="小程序价格"
          width="90px"
          align="center"
          prop="retailPrice"
        ></el-table-column>
        <el-table-column
          label="原价"
          width="90px"
          align="center"
          prop="counterPrice"
        ></el-table-column>
        <el-table-column
          label="已售数量"
          width="90px"
          align="center"
          prop="saleNum"
        ></el-table-column>
        <el-table-column
          label="状态"
          align="center"
          prop="pacStatus"
          fixed="right"
          width="100px"
        >
          <template slot-scope="scope">
            <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1"
              @change="handleStatusChange(scope.row)"></el-switch>
            <el-switch
              v-model="scope.row.pacStatus"
              active-value="0"
              inactive-value="1"
              @change="handleStatusChange(scope.row)"
            ></el-switch>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="80px" fixed="right" class-name="small-padding fixed-width">
        <el-table-column
          label="操作"
          align="center"
          width="80px"
          fixed="right"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
              v-hasPermi="['system:package:edit']" title="修改"></el-button>
            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
              v-hasPermi="['system:package:remove']" title="删除"></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-edit"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:package:edit']"
              title="修改"
            ></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-delete"
              @click="handleDelete(scope.row)"
              v-hasPermi="['system:package:remove']"
              title="删除"
            ></el-button>
            <!-- <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)"
              v-hasPermi="['system:package:Seach']" title="套餐详情"></el-button> -->
          </template>
@@ -115,31 +279,65 @@
      <div class="pag">
        <div class="pag1">
          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
            :limit.sync="queryParams.pageSize" @pagination="getList" />
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.pageNum"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </div>
    </template>
    <!-- 修改体检套餐对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1000px"
      append-to-body
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        label-width="100px"
        :inline="true"
      >
        <!-- <div class="dialo">
        <div class="dialo1"> -->
        <el-form-item label="套餐名称" prop="pacName">
          <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handlePackage">
          <span
            slot="label"
            style="display: inline-block; border-bottom: 2px solid blue"
            @click="handlePackage"
          >
            套餐名称
          </span>
          <el-input v-model="form.pacName" placeholder="请输入套餐名称" style="width: 200px" />
          <el-input
            v-model="form.pacName"
            placeholder="请输入套餐名称"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="套餐状态" prop="pacStatus">
          <!-- <el-radio-group v-model="form.pacStatus">
              <el-radio :label="0">启用</el-radio>
              <el-radio :label="1">停用</el-radio>
            </el-radio-group> -->
          <el-select v-model="form.pacStatus" placeholder="请选择状态" style="width: 200px" filterable clearable>
            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.pacStatus"
            placeholder="请选择状态"
            style="width: 200px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_normal_disable"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
@@ -149,17 +347,39 @@
            placeholder="请输入商品类目"
            style="width: 200px"
          /> -->
          <el-select v-model="form.categoryId" placeholder="请选择套餐类目" style="width: 200px" @change="shangpin" filterable
            clearable>
            <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"></el-option>
          <el-select
            v-model="form.categoryId"
            placeholder="请选择套餐类目"
            style="width: 200px"
            @change="shangpin"
            filterable
            clearable
          >
            <el-option
              v-for="item in categoryList"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="关键字" prop="keywords">
          <el-select multiple v-model="form.keywords" placeholder="请选择关键字" style="width: 200px" @change="sel" filterable
            clearable>
            <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option>
          <el-select
            multiple
            v-model="form.keywords"
            placeholder="请选择关键字"
            style="width: 200px"
            @change="sel"
            filterable
            clearable
          >
            <el-option
              v-for="item in keywordList"
              :key="item.id"
              :label="item.keyword"
              :value="item.id"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="是否上架" prop="isOnSale">
@@ -167,24 +387,51 @@
              <el-radio :label="0">启用</el-radio>
              <el-radio :label="1">停用</el-radio>
            </el-radio-group> -->
          <el-select v-model="form.isOnSale" placeholder="请选择是否上架" style="width: 200px" filterable clearable>
            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          <el-select
            v-model="form.isOnSale"
            placeholder="请选择是否上架"
            style="width: 200px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="排序" prop="sort">
          <el-input v-model="form.sort" placeholder="请输入排序" style="width: 200px" />
          <el-input
            v-model="form.sort"
            placeholder="请输入排序"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="小程序价格" prop="retailPrice">
          <el-input v-model="form.retailPrice" placeholder="请输入小程序价格" style="width: 200px" />
          <el-input
            v-model="form.retailPrice"
            placeholder="请输入小程序价格"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="原价" prop="counterPrice">
          <el-input v-model="form.counterPrice" placeholder="请输入原价" style="width: 200px" />
          <el-input
            v-model="form.counterPrice"
            placeholder="请输入原价"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="套餐描述" prop="pacRemark">
          <el-input type="textarea" v-model="form.pacRemark" placeholder="请输入套餐描述" style="width: 820px"
            rows="2"></el-input>
          <el-input
            type="textarea"
            v-model="form.pacRemark"
            placeholder="请输入套餐描述"
            style="width: 820px"
            rows="2"
          ></el-input>
        </el-form-item>
        <el-form-item label="详细介绍" prop="detail">
          <!-- <el-input
@@ -203,32 +450,97 @@
        <!-- </div> -->
      </el-form>
      <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">新增</el-button>
      <el-table v-loading="loading" :data="form.tjProjectList" @selection-change="handleSelectionChange" border
        max-height="275" style="margin: 10px 0">
      <el-button
        type="primary"
        plain
        size="mini"
        icon="el-icon-plus"
        @click="addmembers()"
        >新增</el-button
      >
      <el-table
        v-loading="loading"
        :data="form.tjProjectList"
        @selection-change="handleSelectionChange"
        border
        max-height="275"
        style="margin: 10px 0"
      >
        <el-table-column label="序号" align="center" type="index" />
        <el-table-column label="项目名称" align="center" prop="proName" width="180px">
        <el-table-column
          label="项目名称"
          align="center"
          prop="proName"
          width="180px"
        >
          <template slot-scope="scope">
            <el-select filterable v-model="scope.row.proName" placeholder="请选择项目名称" @change="getSelectValue">
              <el-option v-for="(item, index) in allList" :key="index" :label="item.proName" :value="item.proName">
            <el-select
              filterable
              v-model="scope.row.proName"
              placeholder="请选择项目名称"
              @change="getSelectValue"
            >
              <el-option
                v-for="(item, index) in allList"
                :key="index"
                :label="item.proName"
                :value="item.proName"
              >
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="项目明细" align="center" prop="allSonProName" width="400px" :show-overflow-tooltip="true">
        <el-table-column
          label="项目明细"
          align="center"
          prop="allSonProName"
          width="400px"
          :show-overflow-tooltip="true"
        >
        </el-table-column>
        <el-table-column label="原价(元)" align="center" prop="proPrice" width="80px" />
        <el-table-column label="现价(元)" align="center" prop="priceNow" width="80px">
        <el-table-column
          label="原价(元)"
          align="center"
          prop="proPrice"
          width="80px"
        />
        <el-table-column
          label="现价(元)"
          align="center"
          prop="priceNow"
          width="80px"
        >
          <template slot-scope="scope">
            <el-input v-model="scope.row.priceNow" autocomplete="off" placeholder="请输入内容"></el-input>
            <el-input
              v-model="scope.row.priceNow"
              autocomplete="off"
              placeholder="请输入内容"
            ></el-input>
          </template>
        </el-table-column>
        <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
        <el-table-column
          label="操作"
          fixed="right"
          align="center"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="addmembers(scope.row)"
              v-hasPermi="['system:package:edit']" title="新增行"></el-button>
            <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-circle-plus-outline"
              @click="addmembers(scope.row)"
              v-hasPermi="['system:package:edit']"
              title="新增行"
            ></el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-delete"
              @click.native.prevent="Delete(scope.$index)"
              v-hasPermi="['hosp:consumables:remove']"
              title="删除"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -281,20 +593,21 @@
  components: { Packages },
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      console.log(value)
      console.log(value);
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      } else if (!patter.test(value)) {
        return callback('');
        return callback("");
      }
    };
    return {
      categoryList: [],
      keys: "",
      keywordList: [],
      dataListAll: [],
      // 多选框
      priceNow: "",
      checkAll: false,
@@ -357,9 +670,7 @@
        isOnSale: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        sort: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        sort: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
        retailPrice: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
@@ -398,10 +709,10 @@
      });
    },
    sel(val) {
      let id = val
      let id = val;
      this.keys = "";
      id.forEach((item) => {
        this.keys += item + ","
        this.keys += item + ",";
      });
    },
    /** 查询类目列表 */
@@ -445,20 +756,18 @@
      this.getList();
    },
    handlePackage() {
      this.$refs.aaa.open = true;
      this.$refs.aaa.getList();
      this.$refs.aaa.title = "套餐名称";
    },
    handleChanges(param1) {
      this.form.pacName = param1[0].pacName
      this.form.hisPacId = param1[0].pacId
      this.form.pacName = param1[0].pacName;
      this.form.hisPacId = param1[0].pacId;
      if (param1[0].price) {
        this.form.counterPrice = param1[0].price
        this.form.retailPrice = param1[0].price
        this.form.counterPrice = param1[0].price;
        this.form.retailPrice = param1[0].price;
      }
    },
    /** 重置按钮操作 */
    resetQuery() {
@@ -480,15 +789,15 @@
      this.reset();
      this.open = true;
      this.title = "体检套餐信息维护";
      getAllList().then((response) => {
        this.allList = response.data;
        if (this.allList.proStatus === 0) {
          this.allList.proStatus = "启用";
        } else {
          this.allList.proStatus = "停用";
        }
        this.loading = false;
      });
      // getAllList().then((response) => {
      //   this.allList = response.data;
      //   if (this.allList.proStatus === 0) {
      //     this.allList.proStatus = "启用";
      //   } else {
      //     this.allList.proStatus = "停用";
      //   }
      //   this.loading = false;
      // });
      // if (!this.form.tjProjectList) {
      //     this.form.tjProjectList = []
      //     this.form.tjProjectList.push({
@@ -505,11 +814,10 @@
    // 是否启用
    handleStatusChange(row) {
      let data = {
        pacId: row.pacId,
        pacStatus: row.pacStatus,
      }
      };
      let text = row.pacStatus === "0" ? "启用" : "停用";
      this.$confirm("确认要" + text + row.pacName + "套餐吗?")
        .then(function () {
@@ -551,6 +859,16 @@
    // 新增行
    addmembers() {
      if (this.form.pacName) {
        this.loading = true;
        getAllList().then((response) => {
          this.allList = response.data;
          if (this.allList.proStatus === 0) {
            this.allList.proStatus = "启用";
          } else {
            this.allList.proStatus = "停用";
          }
          this.loading = false;
        });
        if (!this.form.tjProjectList) {
          this.form.tjProjectList = [];
          this.form.tjProjectList.push({
@@ -610,6 +928,20 @@
          });
        }
      });
      for (let i = 0; i < this.form.tjProjectList.length; i++) {
        for (let j = i + 1; j < this.form.tjProjectList.length; j++) {
          if (
            this.form.tjProjectList[i].proId == this.form.tjProjectList[j].proId
          ) {
            this.form.tjProjectList.splice(j, 1);
            j--;
            this.$modal.msgError("此项目已录入,不可重复录入");
          }
        }
      }
      return this.form.tjProjectList;
    },
    /** 提交按钮 */
    submitForm() {
@@ -655,7 +987,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
    /** 分配套餐内项目操作 */
vue.config.js
@@ -15,6 +15,23 @@
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
module.exports = {
  transpileDependencies: ["vue-json-excel"], //这里是将引用的插件转成es5,具体转哪个 看浏览器控制台哪个报错就好了
  // pages: {
  //   index: {
  //     // add here ---start---
  //     entry: ["node_modules/@babel/polyfill/dist/polyfill.js", "src/main.js"], //这里的路劲一定要写自己的,原作者的路径与我的不同
  //     // add here ---end---
  //     template: "public/index.html",
  //     filename: "index.html",
  //     chunks: ["chunk-vendors", "chunk-common", "index"],
  //   },
  // },
  // 部署生产环境和开发环境下的URL。
  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
  // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
@@ -36,9 +53,9 @@
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`,
        target: `http://192.168.0.104:5011`,
        // target: `http://192.168.0.104:5011`,
        // // target: `http://192.168.0.99:8080/ltkj-admin`,
        // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        // target: `http://10.168.0.9:5011`,
        changeOrigin: true,
        pathRewrite: {