pengjun 2 years ago
parent
commit
32bcb7d019
  1. 151
      src/components/sumDoctorCheck/ButtonList.vue
  2. 75
      src/utlis/proFunc.js

151
src/components/sumDoctorCheck/ButtonList.vue

@ -1,27 +1,28 @@
<template>
<div>
<div v-show="checkPagePriv(pagePriv.privs,'人员列表')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '人员列表')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="prList">人员列表</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'医生诊台')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '医生诊台')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="toDoctorCheck">医生诊台</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'保存')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnSave">保存</el-button>
<div v-show="checkPagePriv(pagePriv.privs, '保存')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnSave"
:disabled="sumBtnDisabled('save')">保存</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'修改')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '修改')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnEdit">修改</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'取消总检')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '取消总检')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnDel">取消总检</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'审核')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '审核')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="audit">审核</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'取消审核')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '取消审核')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="unAudit">取消审核</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'新增建议')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '新增建议')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="addSuggtion">新增建议</el-button>
</div>
<!-- 直接放在 建议旁边
@ -29,22 +30,22 @@
<el-button type="primary" class="btnClass" @click="addDiagnosis">疾病诊断</el-button>
</div>
-->
<div v-show="checkPagePriv(pagePriv.privs,'体检报告')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '体检报告')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="report">体检报告</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'复查')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '复查')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="reCheck">复查</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'干预措施')" class="listBtn">
<div v-show="checkPagePriv(pagePriv.privs, '干预措施')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="intervene">干预措施</el-button>
</div>
<div v-show="sumDoctorCheck.sumDoctorCheckDialogVisible"
:style="`z-index:3;border-radius: 10px;border: 1px solid #000;background-color:#FFF; position: absolute;top:70px;right:10px;width:300px;height: ${window.pageHeight - 42 - 5 - 30}px;opacity:1;`">
<PatientRegisterList win="sumDoctorCheck" :winAbsolute="true"/>
<div v-show="sumDoctorCheck.sumDoctorCheckDialogVisible"
:style="`z-index:3;border-radius: 10px;border: 1px solid #000;background-color:#FFF; position: absolute;top:70px;right:10px;width:300px;height: ${window.pageHeight - 42 - 5 - 30}px;opacity:1;`">
<PatientRegisterList win="sumDoctorCheck" :winAbsolute="true" />
</div>
<!-- 抽屉方式遮罩层不能操作
<el-drawer title="体检人员列表" :visible.sync="sumDoctorCheck.sumDoctorCheckDialogVisible" direction="rtl"
@ -64,7 +65,7 @@
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv,checkPagePriv, deepCopy,arrayExistObj, parseID } from "../../utlis/proFunc";
import { getPagePriv, checkPagePriv, deepCopy, sumBtnDisabled } from "../../utlis/proFunc";
import PatientRegisterList from "../doctorCheck/PatientRegisterList.vue";
import SumDiagnosis from "./SumDiagnosis.vue";
@ -74,13 +75,13 @@ export default {
PatientRegisterList,
SumDiagnosis,
},
props:["fnSetSuggestionFocus"],
props: ["fnSetSuggestionFocus"],
data() {
return {
pagePriv:{
routeUrlorPageName:'sumDoctorCheck', //
privs:[] //
},
pagePriv: {
routeUrlorPageName: 'sumDoctorCheck', //
privs: [] //
},
dialogVisible: false,
tableData: [
{
@ -91,10 +92,10 @@ export default {
};
},
created() {
created() {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
},
//
@ -103,17 +104,19 @@ export default {
},
computed: {
...mapState(["window","dict", "patientRegister", "doctorCheck", "sumDoctorCheck"]),
...mapState(["window", "dict", "dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck"]),
},
methods: {
checkPagePriv,
prList() {
this.sumDoctorCheck.sumDoctorCheckDialogVisible = true
},
//
addDiagnosis(){
addDiagnosis() {
this.sumDoctorCheck.sumDiagnosisVisible = true
},
@ -124,48 +127,13 @@ export default {
this.$router.push({ path: "/doctorCheck" });
},
//
optGrant(optType) {
let ret = ''
if (!this.sumDoctorCheck.sumPREdit.id) return '请选择体检人员'
if (this.sumDoctorCheck.sumPREdit.isLock == 'Y') return '人员已锁定,不可执行此操作'
if (optType == 'save') {
//if (!this.sumDoctorCheck.sumPREdit.summaryDoctor) return ""
if (this.sumDoctorCheck.sumPREdit.completeFlag == '3') return "该人员已总检,不可再执行此操作,如需操作请点【修改】"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'Y') return '该人员检查已审核,请先取消审核,方可执行此操作!'
}
if (optType == 'edit') {
if (this.sumDoctorCheck.sumPREdit.completeFlag != '3') return "该人员尚未总检,无需执行此操作"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'Y') return '该人员检查已审核,请先取消审核,方可执行此操作!'
}
if (optType == 'del') {
if (this.sumDoctorCheck.sumPREdit.completeFlag != '3') return "该人员尚未总检,无需执行此操作"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'Y') return '该人员检查已审核,请先取消审核,方可执行此操作!'
}
if (optType == 'audit') {
if (this.sumDoctorCheck.sumPREdit.completeFlag != '3') return "该检查项目尚未保存,不可执行此操作"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'Y') return "该人员检查已审核,无需再执行此操作"
}
if (optType == 'unAudit') {
if (this.sumDoctorCheck.sumPREdit.completeFlag != '3') return "该人员尚未总检,不可执行此操作"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'N') return "该人员检查尚未审核,无需执行此操作"
}
if (optType == 'report') {
if (this.sumDoctorCheck.sumPREdit.completeFlag != '3') return "该人员检查尚未总检,不可执行此操作"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'N') return "该人员检查尚未审核,不可执行此操作"
}
return ret
//
sumBtnDisabled(btnFlagName) {
sumBtnDisabled(btnFlagName, this.dataTransOpts.tableS.patient_register)
},
//
btnSave() {
let ret = this.optGrant('save')
if (ret) {
this.$message.warning(ret);
return;
}
//
this.updateSumDoctorCheck();
@ -179,21 +147,13 @@ export default {
//
btnEdit() {
let ret = this.optGrant('edit')
if (ret) {
this.$message.warning(ret);
return;
}
this.sumDoctorCheck.sumPREdit.completeFlag = '2'
},
//
btnDel() {
let ret = this.optGrant('del')
if (ret) {
this.$message.warning(ret);
return;
}
let body = {
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
//summaryDoctor: this.sumDoctorCheck.sumPREdit.summaryDoctor,
@ -230,11 +190,7 @@ export default {
//
audit() {
let ret = this.optGrant('audit')
if (ret) {
this.$message.warning(ret);
return;
}
let body = {
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
//auditDoctor: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
@ -258,11 +214,6 @@ export default {
//
unAudit() {
let ret = this.optGrant('unAudit')
if (ret) {
this.$message.warning(ret);
return;
}
let body = {
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
@ -287,14 +238,10 @@ export default {
//
report() {
let ret = this.optGrant('report')
if (ret) {
this.$message.warning(ret);
return;
}
if(!this.$peisAPI) {
if (!this.$peisAPI) {
this.$message.info("此功能,需要在壳客户端才可运行!")
return
return
}
///3a0c990e-5756-2dc0-19d5-69a617fe4048
let ReportCode = '0005';
@ -349,22 +296,12 @@ export default {
//
reCheck() {
console.log("parseID('123456198007240000')", parseID('123456198007240000'))
let ret = this.optGrant('reCheck')
if (ret) {
this.$message.warning(ret);
return;
}
console.log("复查")
},
//
intervene() {
let ret = this.optGrant('intervene')
if (ret) {
this.$message.warning(ret);
return;
}
console.log("干预措施")
},
//
@ -469,16 +406,16 @@ export default {
//()
watch: {
},
};
</script>
<style scoped>
@import '../../assets/css/global_button.css';
.listBtn {
margin-top: 10px;
margin-left: 10px;
text-align: center;
}
</style>

75
src/utlis/proFunc.js

@ -1,7 +1,7 @@
// import sysConfig from "./mm";
// import { getapi, postapi, putapi, deletapi } from "@/api/api";
const sysConfig = require('./mm');
const {getapi, postapi, putapi, deletapi} = require('../api/api');
const { getapi, postapi, putapi, deletapi } = require('../api/api');
//多级联动选择数据处理 add by pengjun
function tcdate(date) {
@ -157,18 +157,18 @@ function arrayExistObj(arr, key, value) {
exports.arrayExistObj = arrayExistObj;
//判断身份证是否合法
function checkIDCode(IDCode) {
function checkIDCode(IDCode) {
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
let ret = false;
let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(reg.test(IDCode)) {
let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (reg.test(IDCode)) {
ret = true;
}
if(!ret) return ret
if(IDCode.length == 15){
if (!ret) return ret
if (IDCode.length == 15) {
if (IDCode.substring(8, 10).parseInt > 12 || IDCode.substring(8, 10).parseInt == 0) return false
if (IDCode.substring(10, 12).parseInt > 31 || IDCode.substring(10, 12).parseInt == 0) return false
}else{
} else {
if (IDCode.substring(10, 12).parseInt > 12 || IDCode.substring(10, 12).parseInt == 0) return false
if (IDCode.substring(12, 14).parseInt > 31 || IDCode.substring(12, 14).parseInt == 0) return false
}
@ -177,15 +177,15 @@ function checkIDCode(IDCode) {
exports.checkIDCode = checkIDCode;
//根据身份证号判断出生日期(yyyy-MM-DD),当前年龄与性别 粗犷式,不精确判断闰年平年
function parseID(id) {
function parseID(id) {
let ret = {
birthday: null,
age: null,
sex: 'U',
}
if(!checkIDCode(id)) return ret
let yearInMs = 1000 * 60 * 60 * 24 * 365.2425;
if (!checkIDCode(id)) return ret
let yearInMs = 1000 * 60 * 60 * 24 * 365.2425;
//出生日期
ret.birthday = id.substring(6, 10) + '-' + id.substring(10, 12) + '-' + id.substring(12, 14)
@ -214,7 +214,7 @@ exports.birthdayToAge = birthdayToAge;
function ageToBirthday(age) {
let yearInMs = 1000 * 60 * 60 * 24 * 365.2425 * Number(age);
//年龄
return new Date(new Date().getTime() - yearInMs)
return new Date(new Date().getTime() - yearInMs)
};
exports.ageToBirthday = ageToBirthday;
@ -246,7 +246,7 @@ function parsIcCardtoLocal(idNos, dictSex, dictNation) {
if (lfind > -1) local.nationId = dictNation[lfind].nationId;
local.birthDate = new Date(local.Birthday)
local.age = birthdayToAge(local.Birthday)
local.age = birthdayToAge(local.Birthday)
return local
};
exports.parsIcCardtoLocal = parsIcCardtoLocal;
@ -254,7 +254,7 @@ exports.parsIcCardtoLocal = parsIcCardtoLocal;
function photoParse(photo) {
//console.log(sysConfig,photo)
let lphoto = '' //data:image、UpLoad/、/pic/Photo.jpg
if(!photo) return '/pic/Photo.jpg'
if (!photo) return '/pic/Photo.jpg'
if (photo.indexOf("UpLoad/") > - 1) {
lphoto = sysConfig.apiurl + '/' + photo + '?' + new Date().getTime()
} else {
@ -287,19 +287,19 @@ async function savePeoplePhoto(peopleId, photoBase64) {
} catch (error) {
lres = { code: -1, msg: error }
}
return lres
};
exports.savePeoplePhoto = savePeoplePhoto;
// 获取当前用户,当前界面的权限
// roteUrlorPageName 路由或需要控制权限的组件界面名称
function getPagePriv(routeUrlorPageName){
function getPagePriv(routeUrlorPageName) {
let priv = []
let userPriv = window.sessionStorage.getItem('userPriv')
if(userPriv) priv = JSON.parse(userPriv)
if (userPriv) priv = JSON.parse(userPriv)
priv = priv.filter(e => {
return e.routeUrl == routeUrlorPageName
return e.routeUrl == routeUrlorPageName
})
return priv
};
@ -307,12 +307,12 @@ exports.getPagePriv = getPagePriv;
// 检查权限是否具有某个权限
// privs 权限集合; displayName 待验证的权限节点名称,有权限返回 true ,否则返回 false
function checkPagePriv(privs,displayName){
function checkPagePriv(privs, displayName) {
let ret = false
if(!(Array.isArray(privs) && privs.length > 0)) return ret
let lfind = arrayExistObj(privs,'displayName',displayName)
if(lfind > -1) ret = true
return ret
if (!(Array.isArray(privs) && privs.length > 0)) return ret
let lfind = arrayExistObj(privs, 'displayName', displayName)
if (lfind > -1) ret = true
return ret
};
exports.checkPagePriv = checkPagePriv;
@ -351,6 +351,35 @@ const setData = (obj, item, v) => {
}
exports.setData = setData;
// 总检界面 按钮 可用控制
const sumBtnDisabled = (btnFlagName, patientRegister) => {
let ret = false
//' 请选择体检人员'
if (!patientRegister.id) return true
// '人员已锁定,不可执行此操作'
if (!patientRegister.isLock) return true
switch (btnFlagName) {
case 'save':
if (patientRegister.completeFlag == '3' || patientRegister.isAudit == 'Y') ret = true
break;
case 'edit':
case 'del':
case 'audit':
if (patientRegister.completeFlag != '3' || patientRegister.isAudit == 'Y') ret = true
break;
case 'unAudit':
case 'report':
if (patientRegister.completeFlag != '3' || patientRegister.isAudit == 'N') ret = true
break;
default:
break;
}
console.log('sumBtnDisabled btnFlagName, patientRegister,ret',btnFlagName, patientRegister,ret)
return ret
}
exports.sumBtnDisabled = sumBtnDisabled;

Loading…
Cancel
Save