Browse Source

ente2tab

master
pengjun 2 years ago
parent
commit
efbb5ae569
  1. 28
      src/components/customerOrg/customerOrgEdit.vue
  2. 52
      src/components/patientRegister/PatientRegisterEdit.vue
  3. 72
      src/utlis/getKeyDown.js

28
src/components/customerOrg/customerOrgEdit.vue

@ -15,12 +15,12 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位名称" prop="displayName"> <el-form-item label="单位名称" prop="displayName">
<el-input v-model="form.displayName" placeholder="请输入单位名称" :disabled="customerOrg.oprStatus ? false:true"/>
<el-input class="enterToTab" v-model="form.displayName" placeholder="请输入单位名称" :disabled="customerOrg.oprStatus ? false:true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位简称" prop="shortName"> <el-form-item label="单位简称" prop="shortName">
<el-input v-model="form.shortName" placeholder="请输入单位简称" :disabled="customerOrg.oprStatus ? false:true"/>
<el-input class="enterToTab" v-model="form.shortName" placeholder="请输入单位简称" :disabled="customerOrg.oprStatus ? false:true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -45,7 +45,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位性质" prop="orgTypeId"> <el-form-item label="单位性质" prop="orgTypeId">
<el-select
<el-select class="enterToTab"
v-model="form.orgTypeId" v-model="form.orgTypeId"
placeholder="请选择" placeholder="请选择"
filterable filterable
@ -75,19 +75,19 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="联系电话" prop="telephone"> <el-form-item label="联系电话" prop="telephone">
<el-input v-model="form.telephone" placeholder="请输入联系电话" />
<el-input class="enterToTab" v-model="form.telephone" placeholder="请输入联系电话" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="传真" prop="fax"> <el-form-item label="传真" prop="fax">
<el-input v-model="form.fax" placeholder="请输入传真" />
<el-input class="enterToTab" v-model="form.fax" placeholder="请输入传真" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="邮政编码" prop="postalCode"> <el-form-item label="邮政编码" prop="postalCode">
<el-input v-model="form.postalCode" placeholder="请输入邮政编码" />
<el-input class="enterToTab" v-model="form.postalCode" placeholder="请输入邮政编码" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -112,17 +112,17 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="发票抬头" prop="invoiceName"> <el-form-item label="发票抬头" prop="invoiceName">
<el-input v-model="form.invoiceName" placeholder="请输入发票抬头" />
<el-input class="enterToTab" v-model="form.invoiceName" placeholder="请输入发票抬头" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="开户银行" prop="bank"> <el-form-item label="开户银行" prop="bank">
<el-input v-model="form.bank" placeholder="请输入开户银行" />
<el-input class="enterToTab" v-model="form.bank" placeholder="请输入开户银行" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="银行账号" prop="accounts"> <el-form-item label="银行账号" prop="accounts">
<el-input v-model="form.accounts" placeholder="请输入银行账号" />
<el-input class="enterToTab" v-model="form.accounts" placeholder="请输入银行账号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -130,7 +130,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="地址" prop="address"> <el-form-item label="地址" prop="address">
<el-input
<el-input class="enterToTab"
v-model="form.address" v-model="form.address"
placeholder="请输入地址" placeholder="请输入地址"
maxlength="50" maxlength="50"
@ -140,7 +140,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" maxlength="100" show-word-limit />
<el-input class="enterToTab" v-model="form.remark" maxlength="100" show-word-limit />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -207,6 +207,7 @@
import { mapState, mapMutations } from "vuex"; import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate, objCopy, deepCopy, arrayExistObj } from "../../utlis/proFunc"; import { tcdate, objCopy, deepCopy, arrayExistObj } from "../../utlis/proFunc";
import { getKeyDown } from '../../utlis/getKeyDown'
import { getTreeNode, getTreePids } from "../../utlis/tree"; import { getTreeNode, getTreePids } from "../../utlis/tree";
export default { export default {
@ -260,6 +261,7 @@ export default {
}, },
created() { created() {
getKeyDown('enterToTab')
this.peisid = window.sessionStorage.getItem("peisid"); this.peisid = window.sessionStorage.getItem("peisid");
if (!this.form.id) { if (!this.form.id) {
this.form.organizationUnitId = this.peisid; this.form.organizationUnitId = this.peisid;
@ -408,6 +410,10 @@ export default {
} }
}, },
onkeyup(e){
console.log('onkeyup e',e)
},
// //
btnSubmit(formName) { btnSubmit(formName) {
let body = {}; let body = {};

52
src/components/patientRegister/PatientRegisterEdit.vue

@ -44,29 +44,29 @@
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="姓名" prop="patientName"> <el-form-item label="姓名" prop="patientName">
<el-input v-model="form.patientName" @change="Query(form.patientName)" size="small" autocomplete="off"></el-input>
<el-input class="enterToTab" v-model="form.patientName" @change="Query(form.patientName)" size="small" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="身份证号" prop="idNo"> <el-form-item label="身份证号" prop="idNo">
<el-input v-model="form.idNo" @change="changeIdNo" size="small"></el-input>
<el-input class="enterToTab" v-model="form.idNo" @change="changeIdNo" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="出生日期" prop="birthDate"> <el-form-item label="出生日期" prop="birthDate">
<el-date-picker v-model="form.birthDate" type="date" value-format="yyyy-MM-dd" placeholder="出生日期"
<el-date-picker class="enterToTab" v-model="form.birthDate" type="date" value-format="yyyy-MM-dd" placeholder="出生日期"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" @change="changeBirthDate" :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" @change="changeBirthDate"
prefix-icon="" size="small"/> prefix-icon="" size="small"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="年龄" prop="age"> <el-form-item label="年龄" prop="age">
<el-input v-model="form.age" size="small" @change="changeAge"></el-input>
<el-input class="enterToTab" v-model="form.age" size="small" @change="changeAge"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="婚姻" prop="maritalStatusId" label-width="50px"> <el-form-item label="婚姻" prop="maritalStatusId" label-width="50px">
<el-select v-model="form.maritalStatusId" placeholder="请选择" size="small"
<el-select class="enterToTab" v-model="form.maritalStatusId" placeholder="请选择" size="small"
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'"> :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'">
<el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName"
:value="item.id"> :value="item.id">
@ -79,27 +79,27 @@
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="手机号" prop="mobileTelephone"> <el-form-item label="手机号" prop="mobileTelephone">
<el-input v-model="form.mobileTelephone" size="small"></el-input>
<el-input class="enterToTab" v-model="form.mobileTelephone" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="电话" prop="telephone"> <el-form-item label="电话" prop="telephone">
<el-input v-model="form.telephone" size="small"></el-input>
<el-input class="enterToTab" v-model="form.telephone" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" size="small"></el-input>
<el-input class="enterToTab" v-model="form.email" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="邮编" prop="postalCode"> <el-form-item label="邮编" prop="postalCode">
<el-input v-model="form.postalCode" size="small"></el-input>
<el-input class="enterToTab" v-model="form.postalCode" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="籍贯" prop="birthPlaceId" label-width="50px"> <el-form-item label="籍贯" prop="birthPlaceId" label-width="50px">
<el-select v-model="form.birthPlaceId" placeholder="请选择" filterable clearable
<el-select class="enterToTab" v-model="form.birthPlaceId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small">
<el-option v-for="item in dict.birthPlace" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.birthPlace" :key="item.id" :label="item.displayName"
:value="item.id" /> :value="item.id" />
@ -111,12 +111,12 @@
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="地址" prop="address"> <el-form-item label="地址" prop="address">
<el-input v-model="form.address" size="small"></el-input>
<el-input class="enterToTab" v-model="form.address" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="人员类别" prop="personnelTypeId"> <el-form-item label="人员类别" prop="personnelTypeId">
<el-select v-model="form.personnelTypeId" placeholder="请选择" filterable clearable
<el-select class="enterToTab" v-model="form.personnelTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName"
:value="item.id" /> :value="item.id" />
@ -125,7 +125,7 @@
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="性激素期" prop="sexHormoneTermId"> <el-form-item label="性激素期" prop="sexHormoneTermId">
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable size="small">
<el-select class="enterToTab" v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable size="small">
<el-option v-for="item in dict.sexHormoneTerm" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.sexHormoneTerm" :key="item.id" :label="item.displayName"
:value="item.id"> :value="item.id">
</el-option> </el-option>
@ -134,7 +134,7 @@
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="民族" prop="nationId" label-width="50px"> <el-form-item label="民族" prop="nationId" label-width="50px">
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable
<el-select class="enterToTab" v-model="form.nationId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small">
<el-option v-for="item in dict.nation" :key="item.nationId" :label="item.displayName" <el-option v-for="item in dict.nation" :key="item.nationId" :label="item.displayName"
:value="item.nationId" /> :value="item.nationId" />
@ -146,7 +146,7 @@
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="体检类别" prop="medicalTypeId"> <el-form-item label="体检类别" prop="medicalTypeId">
<el-select v-model="form.medicalTypeId" placeholder="请选择" filterable clearable
<el-select class="enterToTab" v-model="form.medicalTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName"
:value="item.id" /> :value="item.id" />
@ -155,28 +155,28 @@
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="工卡号" prop="jobCardNo"> <el-form-item label="工卡号" prop="jobCardNo">
<el-input v-model="form.jobCardNo" size="small"></el-input>
<el-input class="enterToTab" v-model="form.jobCardNo" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="体检卡号" prop="medicalCardNo"> <el-form-item label="体检卡号" prop="medicalCardNo">
<el-input v-model="form.medicalCardNo" size="small"></el-input>
<el-input class="enterToTab" v-model="form.medicalCardNo" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="职务" prop="jobPost"> <el-form-item label="职务" prop="jobPost">
<el-input v-model="form.jobPost" size="small"></el-input>
<el-input class="enterToTab" v-model="form.jobPost" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="职称" prop="jobTitle" label-width="50px"> <el-form-item label="职称" prop="jobTitle" label-width="50px">
<el-input v-model="form.jobTitle" size="small"
<el-input class="enterToTab" v-model="form.jobTitle" size="small"
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" /> :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="介绍人" prop="salesman"> <el-form-item label="介绍人" prop="salesman">
<el-input v-model="form.salesman" size="small"></el-input>
<el-input class="enterToTab" v-model="form.salesman" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -194,7 +194,7 @@
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="单位体检次数" prop="isVip" label-width="110px"> <el-form-item label="单位体检次数" prop="isVip" label-width="110px">
<el-select v-model="form.customerOrgRegisterId" placeholder="次数" size="small"
<el-select :class="form.customerOrgId == dict.personOrgId ? '':'enterToTab'" v-model="form.customerOrgRegisterId" placeholder="次数" size="small"
:disabled="form.customerOrgId == dict.personOrgId" :disabled="form.customerOrgId == dict.personOrgId"
:style="'width:' + Math.floor((window.pageWidth - 654) / 4.8) + 'px;'" @change="changeMedicalTimes" :style="'width:' + Math.floor((window.pageWidth - 654) / 4.8) + 'px;'" @change="changeMedicalTimes"
value-key="id"> value-key="id">
@ -251,7 +251,7 @@
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="分组" prop="customerOrgGroupId"> <el-form-item label="分组" prop="customerOrgGroupId">
<el-select v-model="form.customerOrgGroupId" placeholder="请选择" filterable clearable
<el-select :class="form.customerOrgId == dict.personOrgId ? '':'enterToTab'" v-model="form.customerOrgGroupId" placeholder="请选择" filterable clearable
@change="changeCustomerOrgGroupId" :disabled="form.customerOrgId === dict.personOrgId ? true : false" @change="changeCustomerOrgGroupId" :disabled="form.customerOrgId === dict.personOrgId ? true : false"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in patientRegister.customerOrgGroup" :key="item.id" :label="item.displayName" <el-option v-for="item in patientRegister.customerOrgGroup" :key="item.id" :label="item.displayName"
@ -261,7 +261,7 @@
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="套餐" prop="medicalPackageId"> <el-form-item label="套餐" prop="medicalPackageId">
<el-select v-model="form.medicalPackageId" placeholder="请选择" filterable clearable
<el-select :class="form.customerOrgId == dict.personOrgId ? 'enterToTab':''" v-model="form.medicalPackageId" placeholder="请选择" filterable clearable
@change="changeMedicalPackageId" :disabled="form.customerOrgId === dict.personOrgId ? false : true" @change="changeMedicalPackageId" :disabled="form.customerOrgId === dict.personOrgId ? false : true"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"> :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in dict.medicalPackage" :key="item.id" :label="item.displayName" <el-option v-for="item in dict.medicalPackage" :key="item.id" :label="item.displayName"
@ -271,7 +271,7 @@
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="1" placeholder="请输入备注" size="small"></el-input>
<el-input class="enterToTab" v-model="form.remark" type="textarea" :rows="1" placeholder="请输入备注" size="small"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -628,7 +628,7 @@ import moment from "moment";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import mm from "../../utlis/mm"; import mm from "../../utlis/mm";
import { getKeyDown } from '../../utlis/getKeyDown'
import { objCopy, setNull, dddw,checkIDCode, parseID, birthdayToAge,ageToBirthday, deepCopy, arrayFilter, arrayReduce,parsIcCardtoLocal, photoParse, savePeoplePhoto, arrayExistObj } from "../../utlis/proFunc"; import { objCopy, setNull, dddw,checkIDCode, parseID, birthdayToAge,ageToBirthday, deepCopy, arrayFilter, arrayReduce,parsIcCardtoLocal, photoParse, savePeoplePhoto, arrayExistObj } from "../../utlis/proFunc";
import Camera from "./Camera.vue"; import Camera from "./Camera.vue";
import PatientRegisterItem from "./PatientRegisterItem.vue"; import PatientRegisterItem from "./PatientRegisterItem.vue";
@ -750,7 +750,7 @@ export default {
}, },
created() { created() {
getKeyDown('enterToTab')
}, },
// //

72
src/utlis/getKeyDown.js

@ -0,0 +1,72 @@
// 通过绑定输入框的 class 来实现enter 代替 tab 的功能
/*
示例
import { getKeyUp } from '../../utlis/getKeyUp'
created() {
getKeyUp('enterToTab')
}
*/
export function getKeyDown(className){
//当前页面监视键盘输入 onkeyup /onkeydown
document.onkeydown = function(e) {
//e.keyCode === 13
if(e.key == 'Enter'){
// 阻止文本框的换行
if(window.event){
window.event.returnValue = false;
}else{
e.preventDefault(); //for firefox
}
// 标记当前组件为true
if(e.target.tagName === 'INPUT'){
e.target.autofocus = true;
}else if(e.target.tagName === 'TEXTAREA'){
e.target.autofocus = true;
}else{
e.target.firstChild.autofocus = true;
}
// 获取所有需要定位的组件
let arr = document.querySelectorAll("."+className);
let index2 = -1;
arr.forEach((i,index) => {
if(i.querySelectorAll("input")[0]){
if(i.querySelectorAll("input")[0].autofocus){
index2 = index;
}
}else if(i.querySelectorAll("textarea")[0]){
if(i.querySelectorAll("textarea")[0].autofocus){
index2 = index;
}
}else{
// 暂无其他
}
})
// 超出返回第一个组件
if(index2 + 1 >= arr.length){
index2 = -1;
}
// 聚焦到下一个组件中
if(arr[index2 + 1].querySelectorAll("input")[0]){
if(arr[index2 + 1].querySelectorAll("input")[0].type === 'hidden'){
arr[index2 + 1].querySelectorAll("input")[0].parentElement.focus();
}else{
arr[index2 + 1].querySelectorAll("input")[0].focus();
}
}else if(arr[index2 + 1].querySelectorAll("textarea")[0]){
arr[index2 + 1].querySelectorAll("textarea")[0].focus();
}else{
// 暂无其他
}
// 重置当前组件为false
if(e.target.tagName === 'INPUT'){
e.target.autofocus = false;
}else if(e.target.tagName === 'TEXTAREA'){
e.target.autofocus = false;
}else{
e.target.firstChild.autofocus = false;
}
}
}
}
Loading…
Cancel
Save