| | |
| | | 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"], |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | "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", |
| | |
| | | <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 }, |
| | |
| | | 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> |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | |
| | | import Vue from "vue"; |
| | | |
| | | import Cookies from "js-cookie"; |
| | | |
| | | import "babel-polyfill"; |
| | | import Element from "element-ui"; |
| | | import "./assets/styles/element-variables.scss"; |
| | | |
| | |
| | | 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 |
| | |
| | | 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); |
| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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; |
| | |
| | | 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"> |
| | |
| | | <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"> |
| | |
| | | </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"> |
| | |
| | | </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> |
| | | |
| | |
| | | <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="单位"> |
| | |
| | | </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> |
| | |
| | | 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> |
| | | |
| | |
| | | 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"; |
| | |
| | | info: {}, |
| | | allList: [], |
| | | autorule: [], |
| | | vals:{}, |
| | | vals: {}, |
| | | form: { |
| | | createTime: new Date() |
| | | createTime: new Date(), |
| | | }, |
| | | // 医生 |
| | | doctorName: "", |
| | |
| | | name: null, |
| | | }, |
| | | rules: { |
| | | hzType: [ |
| | | { required: true, message: '', trigger: 'change' } |
| | | ] |
| | | } |
| | | hzType: [{ required: true, message: "", trigger: "change" }], |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | |
| | | } |
| | | ); |
| | | 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; |
| | |
| | | |
| | | myclass(row, column, rowIndex, columnIndex) { |
| | | if (row.row.isPositive == 1) { |
| | | return "setclass" |
| | | return "setclass"; |
| | | } |
| | | }, |
| | | // 小结获取备注 |
| | |
| | | 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(); |
| | |
| | | this.tableList = []; |
| | | } |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | |
| | | this.tableList = []; |
| | | } |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | 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 = "" |
| | |
| | | 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, |
| | |
| | | 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(); |
| | |
| | | type: "warning ", |
| | | message: "报告正在生成,请两分钟后预览!!", |
| | | }); |
| | | |
| | | } else { |
| | | this.dialogVisible = true; |
| | | |
| | |
| | | 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); |
| | | }); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | |
| | | }); |
| | | // 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; |
| | |
| | | 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; |
| | |
| | | this.Parent = []; |
| | | this.$modal.msgError("该科室下无项目!"); |
| | | } |
| | | |
| | | }); |
| | | getDeptAdvice().then((response) => { |
| | | this.deptAdviceList = response.data; |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | 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( |
| | | "检测到体检结果未提交,是否在离开该项目前提交修改?", |
| | | "确认信息", |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | }); |
| | | }, |
| | | handleInConfirm(row) { |
| | | this.focusrow = row |
| | | this.focusrow = row; |
| | | }, |
| | | |
| | | handleInputConfirm(row) { |
| | |
| | | background-color: #f86b35; |
| | | color: black; |
| | | } |
| | | |
| | | |
| | | .blue-button { |
| | | width: 10px; |
| | |
| | | <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> |
| | |
| | | <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 |
| | |
| | | </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 + |
| | | "-" + |
| | |
| | | }} |
| | | </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> |
| | |
| | | <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> |
| | |
| | | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | 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"; |
| | |
| | | |
| | | 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() { |
| | |
| | | this.checkList = []; |
| | | } |
| | | } |
| | | |
| | | }), |
| | | // 获取单位信息集合 |
| | | getCompany(this.queryParam).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(); |
| | | }, 3000); |
| | | this.$message.msgSuccess("报告正在生成,请两分钟后预览!"); |
| | | |
| | | } else { |
| | | this.dialogVisible = true; |
| | | |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | 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"; |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.checkList = []; |
| | | } |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | // 重置 |
| | |
| | | state: 1, |
| | | id: this.MsgId, |
| | | }; |
| | | getfiedState(data).then((res) => { }); |
| | | getfiedState(data).then((res) => {}); |
| | | }); |
| | | }, |
| | | |
| | |
| | | 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; |
| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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" /> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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; |
| | |
| | | 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"> |
| | |
| | | <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"> |
| | |
| | | </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"> |
| | |
| | | </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="单位"> |
| | |
| | | </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> |
| | |
| | | 主检医师: |
| | | </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> |
| | |
| | | <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> |
| | |
| | | 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%);"> |
| | |
| | | </div> |
| | | </div> --> |
| | | </el-drawer> |
| | | < ref="aaa" :row="row" @add="handleChanges" /> |
| | | <Public ref="aaa" :row="row" @add="handleChanges" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | 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"; |
| | |
| | | components: { Public }, |
| | | data() { |
| | | return { |
| | | url: '', |
| | | url: "", |
| | | srcList: [], |
| | | formIn: {}, |
| | | project: {}, |
| | |
| | | info: {}, |
| | | allList: [], |
| | | form: { |
| | | createTime: new Date() |
| | | createTime: new Date(), |
| | | }, |
| | | // 医生 |
| | | doctorName: "", |
| | |
| | | name: null, |
| | | }, |
| | | rules: { |
| | | hzType: [ |
| | | { required: true, message: '', trigger: 'change' } |
| | | ] |
| | | } |
| | | hzType: [{ required: true, message: "", trigger: "change" }], |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | |
| | | } |
| | | ); |
| | | 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; |
| | |
| | | |
| | | myclass(row, column, rowIndex, columnIndex) { |
| | | if (row.row.isPositive == 1) { |
| | | return "setclass" |
| | | return "setclass"; |
| | | } |
| | | }, |
| | | // 小结获取备注 |
| | |
| | | }, |
| | | |
| | | 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; |
| | |
| | | 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 = []; |
| | | } |
| | | } |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | 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() { |
| | |
| | | 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; |
| | |
| | | |
| | | 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 = "" |
| | |
| | | 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, |
| | |
| | | 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 = { |
| | |
| | | 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); |
| | | }); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | |
| | | }); |
| | | // 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; |
| | |
| | | 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; |
| | |
| | | this.Parent = []; |
| | | this.$modal.msgError("该科室下无项目!"); |
| | | } |
| | | |
| | | }); |
| | | getDeptAdvice().then((response) => { |
| | | this.deptAdviceList = response.data; |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | 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( |
| | | "检测到体检结果未提交,是否在离开该项目前提交修改?", |
| | | "确认信息", |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | 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); |
| | | }); |
| | | } |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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" /> |
| | |
| | | <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"> |
| | |
| | | </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"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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" /> |
| | |
| | | <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> |
| | |
| | | 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 { |
| | |
| | | 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" }, |
| | | // ], |
| | |
| | | if (newVal) { |
| | | this.$nextTick(() => { |
| | | document |
| | | .querySelector('.el-tree-node__children .el-tree-node__content') |
| | | .querySelector(".el-tree-node__children .el-tree-node__content") |
| | | .click(); |
| | | }); |
| | | } |
| | |
| | | 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() { |
| | |
| | | this.getDeptTree(); |
| | | }, |
| | | methods: { |
| | | |
| | | //是否显示选中的值 |
| | | display(value) { }, |
| | | display(value) {}, |
| | | /** 查询体检项目列表 */ |
| | | getList() { |
| | | // this.loading = true; |
| | |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | 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); |
| | | }); |
| | | } |
| | | }, |
| | |
| | | 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; |
| | | } |
| | |
| | | obtain(vals) { |
| | | if (this.projectOptions) { |
| | | this.selectList = vals; |
| | | console.log(this.selectList) |
| | | console.log(this.selectList); |
| | | } |
| | | if (this.selectList.proName === "主类目") { |
| | | this.showPrise = true; |
| | |
| | | }, |
| | | 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; |
| | |
| | | // 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() { |
| | |
| | | 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; |
| | |
| | | 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") { |
| | |
| | | getDeptTree() { |
| | | deptTree().then((response) => { |
| | | this.deptOptions = response.data; |
| | | this.treeId.push(this.deptOptions[0].id) |
| | | this.treeId.push(this.deptOptions[0].id); |
| | | }); |
| | | }, |
| | | |
| | |
| | | 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 |
| | |
| | | // } |
| | | this.loading = false; |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | selectSingleRow({ row, rowIndex }) { |
| | | if (rowIndex === 1) { |
| | | return 'warning-row'; |
| | | return "warning-row"; |
| | | } |
| | | return ''; |
| | | return ""; |
| | | }, |
| | | |
| | | /** 展开/折叠操作 */ |
| | |
| | | }; |
| | | 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() { |
| | |
| | | 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 { |
| | |
| | | } |
| | | } |
| | | //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; |
| | |
| | | this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | // 新增行 |
| | | addmembers() { |
| | |
| | | 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 { |
| | |
| | | } |
| | | updateProject(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.cancel() |
| | | this.cancel(); |
| | | }); |
| | | } else { |
| | | if (this.form.proParentId === 0) { |
| | |
| | | } |
| | | 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) { |
| | |
| | | } |
| | | updateProject(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.cancel() |
| | | this.cancel(); |
| | | }); |
| | | } else { |
| | | if (this.form.proParentId === 0) { |
| | |
| | | } |
| | | 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) { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | |
| | | ); |
| | | }, |
| | | }, |
| | | } |
| | | |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .el-table__header-wrapper .el-checkbox { |
| | |
| | | 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> |
| | |
| | | <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> |
| | |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入体检日期" |
| | | disabled |
| | | clearable |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入体检类型" |
| | | disabled |
| | | clearable |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入工龄" |
| | | disabled |
| | | clearable |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | |
| | | </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; |
| | |
| | | </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> |
| | |
| | | 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", |
| | |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | |
| | | }, |
| | | methods: { |
| | | handleRowClick(selection) { |
| | | this.row = selection.customer; |
| | | handleRowClick(selection){ |
| | | console.log(selection); |
| | | this.drawer = true; |
| | | this.getech(); |
| | | }, |
| | |
| | | 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); |
| | |
| | | |
| | | myChart.setOption({ |
| | | title: { |
| | | text: "左耳原始听力", |
| | | text: "右耳原始听力", |
| | | }, |
| | | tooltip: { |
| | | trigger: "axis", |
| | |
| | | |
| | | this.loading = false; |
| | | }); |
| | | |
| | | getChart().then((response) => { |
| | | response.data.forEach((item) => { |
| | | this.LineChart.push(item.date); |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | </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"> |
| | |
| | | </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> |
| | |
| | | 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 { |
| | |
| | | // 表单校验 |
| | | 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: [ |
| | | // { |
| | |
| | | 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) => { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | <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> |
| | | |
| | | <!-- |
| | |
| | | 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="项目明细" |
| | |
| | | :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> |
| | |
| | | <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 |
| | |
| | | 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> |
| | |
| | | |
| | | <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> |
| | | |
| | |
| | | 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"> |
| | |
| | | <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 |
| | |
| | | <!-- </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> |
| | |
| | | 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, |
| | |
| | | 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" }, |
| | | ], |
| | |
| | | }); |
| | | }, |
| | | sel(val) { |
| | | let id = val |
| | | let id = val; |
| | | this.keys = ""; |
| | | id.forEach((item) => { |
| | | this.keys += item + "," |
| | | this.keys += item + ","; |
| | | }); |
| | | }, |
| | | /** 查询类目列表 */ |
| | |
| | | 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() { |
| | |
| | | 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({ |
| | |
| | | |
| | | // 是否启用 |
| | | handleStatusChange(row) { |
| | | |
| | | let data = { |
| | | pacId: row.pacId, |
| | | pacStatus: row.pacStatus, |
| | | } |
| | | }; |
| | | let text = row.pacStatus === "0" ? "启用" : "停用"; |
| | | this.$confirm("确认要" + text + row.pacName + "套餐吗?") |
| | | .then(function () { |
| | |
| | | // 新增行 |
| | | 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({ |
| | |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | 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() { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** 分配套餐内项目操作 */ |
| | |
| | | //官方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/。 |
| | |
| | | // 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: { |