Browse Source

menu

master
pengjun 2 years ago
parent
commit
7886afc053
  1. 62
      src/components/common/LocalConfig.vue
  2. 19
      src/components/patientRegister/PatientRegisterList.vue
  3. 7
      src/router/index.js
  4. 1
      src/store/index.js
  5. 262
      src/views/Home.vue

62
src/components/common/LocalConfig.vue

@ -0,0 +1,62 @@
<template>
<div>
<el-tabs tab-position="left" style="height: 100px;">
<el-tab-pane label="检验条码">
检验条码
</el-tab-pane>
<el-tab-pane label="医生诊台">
医生诊台
</el-tab-pane>
</el-tabs>
<div style="margin-left: 150px;margin-top: 5px;">
<el-button type="primary" @click="btnOk" class="commonbutton" size="small">确定</el-button>
<el-button type="primary" @click="btnCancel" class="commonbutton" size="small">取消</el-button>
</div>
</div>
</template>
<script>
import { mapState } from "vuex";
export default {
data() {
return {
LocalConfig: {}
};
},
computed: {
...mapState(["dict", "dialogWin"]),
},
//
created() {
},
//
mounted() {
},
methods: {
btnOk() {
this.dialogWin.LocalConfig = false
},
btnCancel() {
this.dialogWin.LocalConfig = false
},
},
watch: {
},
};
</script>
<style lang="scss" scoped>
@import "../../assets/css/global_dialog.css";
@import "../../assets/css/global_input.css";
@import "../../assets/css/global.css";
</style>

19
src/components/patientRegister/PatientRegisterList.vue

@ -156,6 +156,11 @@
<div v-show="checkPagePriv(pagePriv.privs, '人员信息导出')" class="listBtn">
<el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button>
</div>
<!-- elProgress.display dialogWin.LocalConfig
<div class="listBtn">
<el-button type="" class="commonbutton" @click="dialogWin.LocalConfig = true">本地设置</el-button>
</div>
-->
<!--
<div class="listBtn">
<el-button type="" class="btnClass commonbutton" @click="rowSelected(tableData)">选中</el-button>
@ -199,6 +204,13 @@
:close-on-click-modal="false" :append-to-body="true">
<ElProgressOCX />
</el-dialog>
<!--通用本地参数设置-->
<el-dialog title="本地参数设置" :visible.sync="dialogWin.LocalConfig" :close-on-click-modal="false" :append-to-body="true"
width="800px" height="600px">
<LocalConfig />
</el-dialog>
</div>
</div>
</template>
@ -227,14 +239,19 @@ import ElProgressOCX from "../../components/report/ElProgressOCX.vue";
import PatientRegisterEditGroupBatch from "./PatientRegisterEditGroupBatch.vue";
import PatientRegisterEditItemBatch from "./PatientRegisterEditItemBatch.vue";
import LocalConfig from "../../components/common/LocalConfig.vue";
export default {
components: {
PatientRegisterEdit,
Camera,
PatientRegisterAsbItem,
PatientRegisterEditGroupBatch, //
PatientRegisterEditItemBatch, //
ElProgressOCX,
LocalConfig,
},
data() {
return {
@ -1103,7 +1120,7 @@ export default {
ReportCode,
token,
isBuildImage:'N',
IsUploadPdf:'Y',
IsUploadPdf:'N',
preViewCanPrint: "N",
Parameters: [
{ Name: "printer", Value: user },

7
src/router/index.js

@ -553,6 +553,13 @@ const routes = [{
component: () =>
import ("../views/workload/membershipcard.vue"),
},
{
path: "/LocalConfig",
name: "本地设置",
component: () =>
import ("../components/common/LocalConfig.vue"),
},
],
},
];

1
src/store/index.js

@ -378,6 +378,7 @@ export default new Vuex.Store({
PatientRegisterEditItemBatch: false, //批量调整项目
PatientRegisterEditGroupBatch: false, //批量调整分组
MenuPageSet: false, // 设置角色菜单权限
LocalConfig: false, // 设置窗口
}
},

262
src/views/Home.vue

@ -1,5 +1,6 @@
<template>
<div style="background: #F4F8FF">
<div>
<el-container>
<el-header style="height:50px; line-height: 40px" class="principalheader">
<div class="navs">
@ -24,8 +25,8 @@
-->
<!--动态生成菜单支持多级 add by pengj -->
<div :style="'display:flex;justify-content:center;width:' + (window.pageWidth - 300) + 'px;'">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect" style="display: flex;"
text-color="#333333" active-text-color="#409EFF">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"
style="display: flex;" text-color="#333333" active-text-color="#409EFF">
<!--1级菜单-->
<el-menu-item v-for="menu1 in menuPriv" :key="menu1.id" v-if="menu1.menuType == '1'" :index="menu1.id">
{{ menu1.displayName }}
@ -73,6 +74,7 @@
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">退出登录</el-dropdown-item>
<el-dropdown-item @click.native="editpassword">修改密码</el-dropdown-item>
<el-dropdown-item @click.native="localSet">本地设置</el-dropdown-item>
<el-dropdown-item @click.native="toggleDevTools">调试工具</el-dropdown-item>
<el-dropdown-item @click.native="windowMin">最小化</el-dropdown-item>
<el-dropdown-item @click.native="windowMax">最大化</el-dropdown-item>
@ -101,227 +103,33 @@
</span>
</el-dialog>
<el-container>
<!-- <el-aside :width="isCollapse ? '64px' : '220px'">
<el-menu
style="height: 100%"
default-active="2"
class="el-menu-vertical-demo"
background-color="#545c64"
router
active-text-color="#fff"
:unique-opened="true"
text-color="#000"
@select="aa"
:collapse="isCollapse"
:collapse-transition="false"
>
<div class="collapseandunfoled" @click="isCollapse = !isCollapse">
<i class="el-icon-s-operation"></i>
</div>
<el-submenu index="1">
<template slot="title">
<i class="el-icon-document"></i>
<span>用户权限管理</span>
</template>
<el-menu-item index="role">
<i class="el-icon-menu"></i> <span slot="title">角色管理</span>
</el-menu-item>
<el-menu-item index="user-list">
<i class="el-icon-menu"></i> <span slot="title">用户管理</span>
</el-menu-item>
<el-menu-item index="organization-units"
><i class="el-icon-menu"></i><span slot="title">组织架构</span>
</el-menu-item>
<el-menu-item index="audit-log">
<i class="el-icon-menu"></i> <span slot="title">安全日志</span>
</el-menu-item>
</el-submenu>
<el-submenu index="2">
<template slot="title">
<i class="el-icon-s-tools"></i>
<span>基础字典</span>
</template>
<el-menu-item index="guide-type"
><i class="el-icon-menu"></i>导引类别</el-menu-item
>
<el-menu-item index="medical-report-type"
><i class="el-icon-menu"></i>体检报告类别</el-menu-item
>
<el-menu-item index="sex"
><i class="el-icon-menu"></i>性别</el-menu-item
>
<el-menu-item index="marital-status"
><i class="el-icon-menu"></i>婚姻状况</el-menu-item
>
<el-menu-item index="nation"
><i class="el-icon-menu"></i>民族</el-menu-item
>
<el-menu-item index="birth-place"
><i class="el-icon-menu"></i>籍贯</el-menu-item
>
<el-menu-item index="result-status"
><i class="el-icon-menu"></i>结果状态</el-menu-item
>
<el-menu-item index="medical-type"
><i class="el-icon-menu"></i>体检类别</el-menu-item
>
<el-menu-item index="personnel-type"
><i class="el-icon-menu"></i>人员类别</el-menu-item
>
<el-menu-item index="device-type"
><i class="el-icon-menu"></i>仪器类别</el-menu-item
>
<el-menu-item index="sample-type"
><i class="el-icon-menu"></i>标本类型</el-menu-item
>
<el-menu-item index="unit"
><i class="el-icon-menu"></i>单位</el-menu-item
>
<el-menu-item index="diagnosis-postfix"
><i class="el-icon-menu"></i>诊断后缀</el-menu-item
>
<el-menu-item index="medical-conclusion-type"
><i class="el-icon-menu"></i>体检结论类别</el-menu-item
>
<el-menu-item index="medical-conclusion"
><i class="el-icon-menu"></i>体检结论</el-menu-item
>
<el-menu-item index="sample-container"
><i class="el-icon-menu"></i>标本容器</el-menu-item
>
<el-menu-item index="common-char-type"
><i class="el-icon-menu"></i>常用字符类别</el-menu-item
>
<el-menu-item index="common-char"
><i class="el-icon-menu"></i>常用字符</el-menu-item
>
<el-menu-item index="customer-org-type"
><i class="el-icon-menu"></i>客户单位类别</el-menu-item
>
<el-menu-item index="item-default-result"
><i class="el-icon-menu"></i>项目默认结果</el-menu-item
>
<el-menu-item index="diagnosis-level"
><i class="el-icon-menu"></i>诊断级别</el-menu-item
>
</el-submenu>
<el-submenu index="3">
<template slot="title">
<i class="el-icon-s-tools"></i>
<span>收费设置</span>
</template>
<el-menu-item index="invoice-item-type"
><i class="el-icon-menu"></i>发票项目类别</el-menu-item
>
<el-menu-item index="pay-mode"
><i class="el-icon-menu"></i>支付方式</el-menu-item
>
</el-submenu>
<el-submenu index="4">
<template slot="title">
<i class="el-icon-s-tools"></i>
<span>常用设置</span>
</template>
<el-menu-item index="item-type"
><i class="el-icon-menu"></i>项目类别</el-menu-item
>
<el-menu-item index="sample-group"
><i class="el-icon-menu"></i>条码分组</el-menu-item
>
<el-menu-item index="asbitem"
><i class="el-icon-menu"></i>组和项目</el-menu-item
>
<el-menu-item index="item"
><i class="el-icon-menu"></i>项目</el-menu-item
>
<el-menu-item index="reference-range"
><i class="el-icon-menu"></i>参考范围</el-menu-item
>
<el-menu-item index="sex-hormone-reference-range"
><i class="el-icon-menu"></i>性激素参考范围</el-menu-item
>
<el-menu-item index="diagnosis"
><i class="el-icon-menu"></i>诊断</el-menu-item
>
<el-menu-item index="diagnosis-template"
><i class="el-icon-menu"></i>诊断模板</el-menu-item
>
<el-menu-item index="item-result-template"
><i class="el-icon-menu"></i>项目结果模板</el-menu-item
>
<el-menu-item index="item-result-match"
><i class="el-icon-menu"></i>项目结果匹配</el-menu-item
>
<el-menu-item index="item-template"
><i class="el-icon-menu"></i>项目模板</el-menu-item
>
<el-menu-item index="medical-package"
><i class="el-icon-menu"></i>套餐</el-menu-item
>
<el-menu-item index="sys-parm-type"
><i class="el-icon-menu"></i>系统参数</el-menu-item
>
</el-submenu>
<el-submenu index="5">
<template slot="title">
<i class="el-icon-document"></i>
<span>体检登记</span>
</template>
<el-menu-item index="customerOrg">
<i class="el-icon-menu"></i>
<span slot="title">体检单位设置</span>
</el-menu-item>
<el-menu-item index="customerOrgGroup">
<i class="el-icon-menu"></i>
<span slot="title">单位分组设置</span>
</el-menu-item>
<el-menu-item index="patientRegister">
<i class="el-icon-menu"></i>
<span slot="title">体检人员登记</span>
</el-menu-item>
<el-menu-item index="patientRegisterSign">
<i class="el-icon-menu"></i>
<span slot="title">体检人员签到</span>
</el-menu-item>
<el-menu-item index="patientRegisterRecover">
<i class="el-icon-menu"></i>
<span slot="title">体检表回收</span>
</el-menu-item>
<el-menu-item index="patientRegisterRefuse">
<i class="el-icon-menu"></i> <span slot="title">弃检登记</span>
</el-menu-item>
</el-submenu>
<el-submenu index="6">
<template slot="title">
<i class="el-icon-document"></i>
<span>体检</span>
</template>
<el-menu-item index="doctorCheck">
<i class="el-icon-menu"></i>
<span slot="title">体检医生诊台</span>
</el-menu-item>
<el-menu-item index="sumDoctorCheck">
<i class="el-icon-menu"></i>
<span slot="title">总检医生诊台</span>
</el-menu-item>
</el-submenu>
</el-menu>
</el-aside> -->
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</el-container>
</div>
<div>
<!--通用本地参数设置-->
<el-dialog title="本地参数设置" :visible.sync="dialogWin.LocalConfig" :close-on-click-modal="false" :append-to-body="true"
width="800px" height="600px">
<LocalConfig />
</el-dialog>
</div>
</div>
</template>
<script>
///api/app/item/in-filter
import router from "@/router";
import { getapi, postapi } from "@/api/api";
import { mapState } from "vuex";
import { getTreeNode } from "../utlis/tree"
import { getTreeNode,madeTree } from "../utlis/tree";
import LocalConfig from "../components/common/LocalConfig.vue";
export default {
components: {
LocalConfig,
},
data() {
return {
activeIndex: '0',
@ -348,7 +156,7 @@ export default {
};
},
computed: {
...mapState(["changepassword", "router", "window"]),
...mapState(["window", "dialogWin"]),
},
created() {
let expires_in = parseInt(window.sessionStorage.getItem("expires_in"))
@ -365,15 +173,15 @@ export default {
//
this.getUserAllPriv()
this.getUserMenuPriv()
// this.getUserMenuPriv()
},
methods: {
//
handleSelect(key, keyPath) {
// console.log(key, keyPath);
// tree: any, childNodeName: any, idName: any, idVal: any
let node = getTreeNode(this.menuPriv,"treeChildren","id",key)
if(node) this.$router.push({ path: node.routeUrl });
let node = getTreeNode(this.menuPriv, "treeChildren", "id", key)
if (node) this.$router.push({ path: node.routeUrl });
},
//
@ -381,6 +189,11 @@ export default {
getapi('/api/app/menuinfo/getmymenuinfolist').then(res => {
if (res.code > -1) {
window.sessionStorage.setItem("userPriv", JSON.stringify(res.data));
let menuPriv = res.data.filter(e => { return e.menuType == '0' || e.menuType == '1' })
this.menuPriv = madeTree(menuPriv,'treeChildren','parentId','id',null)
this.menuPriv = this.menuFilter(this.menuPriv)
}
})
},
@ -397,18 +210,18 @@ export default {
},
//
menuFilter(menu){
menuFilter(menu) {
return menu.filter(e => {
if(e.menuType == '0' || e.menuType == '1'){
if(e.treeChildren && e.treeChildren.length > 0){
let temp = e.treeChildren.filter(e1 => {return e1.menuType == '0' || e1.menuType == '1'})
if(temp.length > 0){
if (e.menuType == '0' || e.menuType == '1') {
if (e.treeChildren && e.treeChildren.length > 0) {
let temp = e.treeChildren.filter(e1 => { return e1.menuType == '0' || e1.menuType == '1' })
if (temp.length > 0) {
e.menuType = '0'
e.treeChildren = this.menuFilter(e.treeChildren)
}else{
} else {
e.menuType = '1'
}
}else{
} else {
e.menuType = '1'
}
return e
@ -465,6 +278,13 @@ export default {
this.$router.push({ path: "/login" });
},
//
localSet() {
// this.dialogWin.LocalConfig = true
this.$router.push({ path: "/LocalConfig" });
},
//
toggleDevTools() {
if (!this.$peisAPI) {
@ -747,7 +567,7 @@ export default {
left: 0;
}
::v-deep .el-submenu__title{
::v-deep .el-submenu__title {
color: #FF0000;
}

Loading…
Cancel
Save