pengjun 2 years ago
parent
commit
8b7658d87b
  1. 9
      src/router/index.js
  2. 3
      src/store/index.js
  3. 211
      src/views/Home.vue
  4. 155
      src/views/doctorCheck/personnelBatch.vue

9
src/router/index.js

@ -4,6 +4,10 @@ import VueRouter from "vue-router";
import login from "@/views/login/Login.vue";
Vue.use(VueRouter);
// const originalpush = VueRouter.prototype.push
// VueRouter.prototype.push = function (location) {
// return originalpush.call(this, location).catch(err => err)
// }
const routes = [
{
path: "/",
@ -244,6 +248,11 @@ const routes = [
name: "总检医生诊台",
component: () => import("../views/doctorCheck/sumDoctorCheck.vue"),
},
{
path: "/personnelBatch",
name: "人员预约登记",
component: () => import("../views/doctorCheck/personnelBatch.vue"),
},
//---------------------- 体 检 end ----------------------
],
},

3
src/store/index.js

@ -9,6 +9,9 @@ export default new Vuex.Store({
state: {
changepassword:'',//用户密码
set: "qqqq",
router:{
path:'',
},
window:{
pageHeight:960, //页面高度
pageWidth:1920, //页面宽度

211
src/views/Home.vue

@ -5,22 +5,17 @@
<div class="navs">
<!-- <div class="maintitle">神豚医疗信息系统</div> -->
<div style="">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 用户权限管理 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/organization-units' })"
<el-dropdown-item command="organization-units"
>组织架构</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/role' })"
>角色管理</el-dropdown-item
> <el-dropdown-item
@click.native="$router.push({ path: '/user-list' })"
<el-dropdown-item command="role">角色管理</el-dropdown-item>
<el-dropdown-item command="user-list"
>用户管理</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/audit-log' })"
<el-dropdown-item command="audit-log"
>安全日志</el-dropdown-item
>
</el-dropdown-menu>
@ -28,92 +23,62 @@
</div>
<!-- 基础字典 -->
<div style="margin-left: 15px" class="basicdictionany">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 基础字典 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/guide-type' })"
<el-dropdown-item command="guide-type"
>导引类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/medical-report-type' })"
<el-dropdown-item command="medical-report-type"
>体检报告类别</el-dropdown-item
>
<el-dropdown-item @click.native="$router.push({ path: '/sex' })"
>性别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/marital-status' })"
<el-dropdown-item command="sex">性别</el-dropdown-item>
<el-dropdown-item command="marital-status"
>婚姻状况</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/nation' })"
>民族</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/birth-place' })"
>籍贯</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/result-status' })"
<el-dropdown-item command="nation">民族</el-dropdown-item>
<el-dropdown-item command="birth-place">籍贯</el-dropdown-item>
<el-dropdown-item command="result-status"
>结果状态</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/medical-type' })"
<el-dropdown-item command="medical-type"
>体检类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/personnel-type' })"
<el-dropdown-item command="personnel-type"
>人员类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/device-type' })"
<el-dropdown-item command="device-type"
>仪器类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/sample-type' })"
<el-dropdown-item command="sample-type"
>标本类型</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/unit' })"
>计量单位</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/diagnosis-postfix' })"
<el-dropdown-item command="unit">计量单位</el-dropdown-item>
<el-dropdown-item command="diagnosis-postfix"
>诊断后缀</el-dropdown-item
>
<el-dropdown-item
@click.native="
$router.push({ path: '/medical-conclusion-type' })
"
<el-dropdown-item command="medical-conclusion-type"
>体检结论类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/medical-conclusion' })"
<el-dropdown-item command="medical-conclusion"
>体检结论</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/sample-container' })"
<el-dropdown-item command="sample-container"
>标本容器</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/common-char-type' })"
<el-dropdown-item command="common-char-type"
>常用字符类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/common-char' })"
<el-dropdown-item command="common-char"
>常用字符</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/customer-org-type' })"
<el-dropdown-item command="customer-org-type"
>客户单位类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/item-default-result' })"
<el-dropdown-item command="item-default-result"
>项目默认结果</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/diagnosis-level' })"
<el-dropdown-item command="diagnosis-level"
>诊断级别</el-dropdown-item
>
</el-dropdown-menu>
@ -121,39 +86,27 @@
</div>
<!-- 收费设置 -->
<div class="feesettings" style="margin-left: 20px">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 收费设置 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/invoice-item-type' })"
<el-dropdown-item command="invoice-item-type"
>发票项目类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/pay-mode' })"
>支付方式</el-dropdown-item
>
<el-dropdown-item command="pay-mode">支付方式</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!--常用设置 -->
<div class="commonsettings" style="margin-left: 20px">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 常用设置 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/item-type' })"
<el-dropdown-item command="item-type"
>项目类别</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/item' })"
>项目设置</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/asbitem' })"
>组合项目</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/sample-group' })"
<el-dropdown-item command="item">项目设置</el-dropdown-item>
<el-dropdown-item command="asbitem">组合项目</el-dropdown-item>
<el-dropdown-item command="sample-group"
>条码分组</el-dropdown-item
>
<!-- <el-dropdown-item
@ -166,34 +119,23 @@
"
>性激素参考范围</el-dropdown-item
> -->
<el-dropdown-item
@click.native="$router.push({ path: '/diagnosis' })"
>诊断</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/diagnosis-template' })"
<el-dropdown-item command="diagnosis">诊断</el-dropdown-item>
<el-dropdown-item command="diagnosis-template"
>诊断模板</el-dropdown-item
>
<el-dropdown-item
@click.native="
$router.push({ path: '/item-result-template' })
"
<el-dropdown-item command="item-result-template"
>项目结果模板</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/item-result-match' })"
<el-dropdown-item command="item-result-match"
>项目结果匹配</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/item-template' })"
<el-dropdown-item command="item-template"
>项目模板</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/medical-package' })"
<el-dropdown-item command="medical-package"
>套餐</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/sys-parm-type' })"
<el-dropdown-item command="sys-parm-type"
>系统参数</el-dropdown-item
>
</el-dropdown-menu>
@ -201,35 +143,25 @@
</div>
<!-- 体检登记 -->
<div class="examinationregistration" style="margin-left: 15px">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 体检登记 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/customerOrg' })"
<el-dropdown-item command="customerOrg"
>体检单位设置</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/customerOrgGroup' })"
<el-dropdown-item command="customerOrgGroup"
>单位分组设置</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/patientRegister' })"
<el-dropdown-item command="patientRegister"
>体检人员登记</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/patientRegisterSign' })"
<el-dropdown-item command="patientRegisterSign"
>体检人员签到</el-dropdown-item
>
<el-dropdown-item
@click.native="
$router.push({ path: '/patientRegisterRecover' })
"
<el-dropdown-item command="patientRegisterRecover"
>体检表回收</el-dropdown-item
>
<el-dropdown-item
@click.native="
$router.push({ path: '/patientRegisterRefuse' })
"
<el-dropdown-item command="patientRegisterRefuse"
>弃检登记</el-dropdown-item
>
</el-dropdown-menu>
@ -237,17 +169,18 @@
</div>
<!-- 体检 -->
<div class="physicalexamination" style="margin-left: 15px">
<el-dropdown>
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> 体检 </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
@click.native="$router.push({ path: '/doctorCheck' })"
<el-dropdown-item command="doctorCheck"
>体检医生诊台</el-dropdown-item
>
<el-dropdown-item
@click.native="$router.push({ path: '/sumDoctorCheck' })"
<el-dropdown-item command="sumDoctorCheck"
>总检医生诊台</el-dropdown-item
>
<el-dropdown-item command="personnelBatch"
>人员预约登记</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
</div>
@ -271,7 +204,12 @@
</div>
</el-header>
<!-- 修改密码弹框 -->
<el-dialog title="修改密码" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false">
<el-dialog
title="修改密码"
:visible.sync="dialogVisible"
width="30%"
:close-on-click-modal="false"
>
<el-form
:model="form"
:rules="rules"
@ -279,13 +217,26 @@
label-width="100px"
>
<el-form-item label="旧密码" prop="oldPassWord">
<el-input v-model="form.oldPassWord" autocomplete='new-password' show-password></el-input>
<el-input
v-model="form.oldPassWord"
autocomplete="new-password"
show-password
></el-input>
</el-form-item>
<el-form-item label="新密码" prop="newPassWord">
<el-input v-model="form.newPassWord" autocomplete='new-password' show-password></el-input>
<el-input
v-model="form.newPassWord"
autocomplete="new-password"
show-password
></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="newPassWord">
<el-input v-model="confirmpassword" type="password" autocomplete='new-password' show-password></el-input>
<el-input
v-model="confirmpassword"
type="password"
autocomplete="new-password"
show-password
></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -536,7 +487,7 @@ export default {
};
},
computed: {
...mapState(["changepassword"]),
...mapState(["changepassword", "router"]),
},
created() {
this.password = this.changepassword;
@ -545,6 +496,12 @@ export default {
this.user = localStorage.getItem("user");
},
methods: {
handleCommand(command) {
if (this.router.path != command) {
this.router.path = command;
this.$router.push({ path: command });
}
},
//
determine() {
this.$refs.ruleForm.validate((valid) => {

155
src/views/doctorCheck/personnelBatch.vue

@ -0,0 +1,155 @@
<template>
<div>
<el-dialog
title="清选择导入方式"
:visible.sync="dialogVisible1"
width="50%"
>
<div class="selectby">
<el-radio v-model="radio" label="1">从Excle导入</el-radio>
<el-radio v-model="radio" label="2">备选项</el-radio>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible1 = false"> </el-button>
<el-button type="primary" @click="nextTick">下一步</el-button>
</span>
</el-dialog>
<!-- dialog2 -->
<el-dialog title="批量预登记" :visible.sync="dialogVisible2" width="50%">
<div class="heading">导入EXCEL注意事项</div>
<div class="mainbody">
<div class="boxtitle">
<div>
导入Excel时Excel的格式必须符合一定规范该格式的模板文件放在程序
</div>
<div>的执行目录下文件名为"单位体检人员名单导入模板.xls"</div>
<div>注意事项如下:</div>
<div>1:姓名不能为空其余数据可根据实际情况选择是否填写</div>
<div>
2:部门单位分组性别婚姻状况人员类别体检类别民族必须与本软件
</div>
<div>系统中的名称完全一致</div>
<div>
3:年龄和出生日期可以只填一栏系统将自动对年龄和出生日期进行相互转换
</div>
<div>4:Excel的实际列数不能超过20列</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="back2">上一步</el-button>
<el-button type="primary" @click="nextstep">下一步</el-button>
</span>
</el-dialog>
<!-- -->
<el-dialog title="批量预约登记" :visible.sync="dialogVisible3" width="50%">
<div class="selectfile">
<div>
<div><input type="file" accept=".xlsx" @change="onFileChange" /></div>
<div></div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="back3">上一步</el-button>
<el-button type="primary" @click="dialogVisible3 = false"
> </el-button
>
</span>
</el-dialog>
<!-- -->
</div>
</template>
<script>
import ExcelJS from "exceljs";
export default {
data() {
return {
radio: "1",
dialogVisible1: true,
dialogVisible2: false,
dialogVisible3: false,
};
},
methods: {
onFileChange(event) {
//
const file = event.target.files[0];
// Excel
this.importExcelFile(file);
},
importExcelFile(file) {
this.filepopupdialogVisible = true;
console.log("333");
// 簿
const workbook = new ExcelJS.Workbook();
// Excel
const reader = new FileReader();
console.log(reader);
reader.onload = () => {
const buffer = reader.result;
const typedArray = new Uint8Array(buffer);
const blob = new Blob([typedArray], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
});
// BlobExcel
workbook.xlsx.load(blob).then((workbook) => {
//
const worksheet = workbook.getWorksheet(1);
// Excel
worksheet.eachRow((row, rowNumber) => {
console.log(row.values);
// this.importData.push(row.values);
// console.log(`${row.rowNumber}${row.rowData}`);
});
});
};
reader.readAsArrayBuffer(file);
},
nextTick() {
if (this.radio == 1) {
this.dialogVisible1 = false;
this.dialogVisible2 = true;
}
console.log(this.radio);
},
back3() {
this.dialogVisible3 = false;
this.dialogVisible2 = true;
},
//
back2() {
this.dialogVisible2 = false;
this.dialogVisible1 = true;
},
//
nextstep() {
this.dialogVisible3 = true;
this.dialogVisible2 = false;
},
loading() {},
},
};
</script>
<style scoped>
.selectfile {
display: flex;
}
.boxtitle {
margin-left: 25%;
margin-top: 20px;
}
.mainbody {
width: 100%;
}
.heading {
text-align: center;
font-size: 18px;
}
.selectby {
display: flex;
justify-content: center;
}
</style>
Loading…
Cancel
Save