1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245 |
- <template>
- <!-- 电子病历/新增患者 -->
- <div class="main-contain">
- <!-- 传染病(已隐藏) -->
- <el-dialog
- title="新增传染病检查"
- :visible.sync="dialogFormVisible"
- width="1000px"
- id="user-inspection-form"
- v-loading="formLoading"
- >
- <el-form :model="form" ref="form" label-position="top">
- <el-row>
- <el-col :span="1"> </el-col>
-
- <template v-for="(item, index) in form.formItem">
- <el-col :span="7" ><!--:key="index"-->
- <el-form-item
- :label="item.item_name"
- v-if="item.range_type == 1"
- :key="item.item_id"
- :prop="'formItem.' + index + '.value'"
- >
- <el-input
- placeholder="请填入"
- v-model="item.value"
- style="width:95%"
- type="number"
- >
- <template slot="append">{{ item.unit }}</template>
- </el-input>
- </el-form-item><!--:key="item.item_id"-->
- <el-form-item
- :label="item.item_name"
- v-else
-
- :prop="'formItem.' + index + '.value'"
- >
- <el-select
- v-model="item.value"
- placeholder="请选择"
- style="width:95%"
- >
- <el-option
- v-for="(optionItem, oidex) in item.select_options"
- :key="oidex"
- :label="optionItem"
- :value="optionItem"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="1" > </el-col><!--:key="'form-col' + index"-->
- </template>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="dialogFormVisible = false">取 消</el-button>
- <el-button type="primary" @click="submitNew('form')">保 存</el-button>
- </div>
- </el-dialog>
-
- <div v-if="!isEdit" class="position">
- <bread-crumb :crumbs="crumbs"></bread-crumb>
- <div class style="float:right;color: white">
- <el-button
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- type="primary"
- v-if="this.isEdit == false"
- @click="resetForm('form')"
- icon="el-icon-circle-plus-outline"
- size="small"
- >新增</el-button
- >
- </div>
- </div>
-
- <div
- v-if="isEdit"
- class
- style="float:right;margin-right: 35px;margin-top: 10px"
- >
- <!-- <el-button @click="$router.back(-1)" icon="el-icon-refresh" size="small">取消</el-button>
- <el-button :disabled="$store.getters.xt_user.subscibe.state==3||!subscibeFlag?true:false" type="primary" v-if="this.isEdit==false" @click="resetForm('form')" icon="el-icon-circle-plus-outline" size="small">新增</el-button>
- <el-button :disabled="$store.getters.xt_user.subscibe.state==3||!subscibeFlag?true:false" @click="onSubmit('form')" size="small" type="success" icon="el-icon-setting" >保存</el-button>
- <el-button v-if="isEdit==false" @click="onReSubmit('form')" :disabled="$store.getters.xt_user.subscibe.state==3||!subscibeFlag?true:false" icon="el-icon-document-add" size="small" type="warning" >保存并继续新增</el-button>-->
- </div>
-
- <div class="app-container" v-loading="pageLoad">
- <el-form
- ref="form"
- :rules="rules"
- :model="form"
- label-width="124px"
- class="clearfix"
- popper-append-to-body="false"
- >
- <div class="dataTitle">一般资料</div>
- <el-row>
- <el-col :span="20" class="form-table">
- <el-row :span="20">
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="姓名 : " class="is-required" prop="name">
- <el-input v-model="form.name"></el-input>
- </el-form-item>
- </el-col>
- <el-col
- :span="8"
- :style="isEdit ? 'width:360px' : ''"
- style="height:59px;"
- >
- <el-form-item label="性别 : " class="is-required" prop="gender">
- <el-radio-group v-model="form.gender" @change="changeGender">
- <el-radio
- v-for="item in sexOptions"
- :key="item.value"
- :label="item.value"
- :value="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="身份证号 : "
- >
- <el-input
- @blur="checkIdCardNo"
- v-model="form.idCardNo"
- ></el-input><!---->
- </el-form-item>
- </el-col>
-
- <el-col
- :span="8"
- :style="isEdit ? 'width:360px' : ''"
- style="height:59px;"
- >
- <el-form-item label="年龄 : " class="is-required" prop="age">
- <el-input
- v-model="form.age"
- placeholder="请填写年龄"
- ></el-input>
- </el-form-item>
- </el-col>
- <template v-if="isEdit">
- <!-- <el-col :span="8" :style="isEdit?'width:360px':''">
- <el-form-item label="患者类型 : " class="is-required" >
- <el-select v-model="form.patientType" placeholder="请选择患者类型" disabled >
- <el-option v-for="item in styleOptions" :key="item.id" :label="item.name" :value="item.id"/>
- </el-select>
- </el-form-item>
- </el-col>-->
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="透析号 : " class="is-required">
- <el-input
- v-model="form.dialysisNo"
- placeholder="填写或自动生成"
- style="width:62%;float:left;margin-right: 2%;"
- ></el-input>
- <!-- <el-button style="width:36%;padding:10px 0;" disabled type="primary">自动生成</el-button> -->
- </el-form-item>
- </el-col>
- </template>
- <template v-else>
- <el-col :span="8">
- <el-form-item
- label="透析号 : "
- class="is-required"
- prop="dialysisNo"
- >
- <el-input
- v-model="form.dialysisNo"
- placeholder="填写或自动生成"
- style="width:62%;float:left;margin-right: 2%;"
- ></el-input>
- <el-button
- style="width:35%;padding:10px 0;"
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 ||
- !subscibeFlag
- ? true
- : false
- "
- type="primary"
- @click="generatedialysisno"
- >自动生成</el-button
- >
- </el-form-item>
- </el-col>
- </template>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="出生日期 : "
- class="is-required"
- prop="birth"
- >
- <el-date-picker
- v-model="form.birth"
- type="date"
- placeholder="选择日期"
- :suffix-icon="'el-icon-menu'"
- @change="hadSelectBirth"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" :style="isEdit ? 'width:380px' : ''" v-if="org_id!=0 && org_id!=10138 && org_id!=10278">
- <el-form-item
- label="首次肾脏治疗时间:"
- prop="firstDialysisDate"
- label-width="150px"
- >
- <el-date-picker
- v-model="form.firstDialysisDate"
- type="date"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" :style="isEdit ? 'width:380px' : ''" v-if="org_id==0||org_id == 10138 || org_id == 10278">
- <el-form-item
- label="首次进入本院时间:"
- prop="firstDialysisDate"
- label-width="150px"
- >
- <el-date-picker
- v-model="form.firstDialysisDate"
- type="date"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="本人电话 : "
- prop="phone"
- >
- <el-input v-model="form.phone" maxlength="20"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="家属姓名 : ">
- <el-input
- v-model="form.contact_name"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="家属电话 : ">
- <el-input
- v-model="form.homeTelephone"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
-
-
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="本院首次透析 : "
- prop="is_hospital_first_dialysis"
- >
- <el-radio-group v-model="form.is_hospital_first_dialysis">
- <el-radio
- v-for="item in isHospitalFirstDialysisOptions"
- :key="item.value"
- :label="item.value"
- :value="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="系统前透析次数: "
- prop="user_sys_before_count"
- >
- <el-input v-model="form.user_sys_before_count"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="首次透析时间 : ">
- <el-date-picker
- v-model="form.first_treatment_date"
- type="date"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="上家透析医院 : "
- prop="first_dialysis_hospital"
- >
- <el-input v-model="form.first_dialysis_hospital"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item
- label="透析之前情况 : "
- prop="predialysis_condition"
- >
- <el-checkbox-group v-model="form.predialysis_condition">
- <el-checkbox
- v-for="item in predialysisConditionOptions"
- :label="item.label"
- :key="item.value"
- :value="item.label"
- >{{ item.label }}</el-checkbox
- >
- </el-checkbox-group>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="家庭住址 : " prop="homeAddress" class="is-required">
- <el-input v-model="form.homeAddress" style="width: 280px;"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:280px' : ''">
- <el-form-item
- label="打印日期:"
- label-width="150px"
- >
- <el-date-picker
- v-model="form.print_date"
- type="date"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="住院(门诊)号 : ">
- <el-input v-model="form.admissionNumber"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="工作单位 : " prop="work">
- <el-input v-model="form.work"></el-input>
- </el-form-item>
- </el-col>
-
-
- <el-col :span="24">
- <el-form-item label="病历号 : " prop="record_number">
- <el-input
- style="width: 200px;"
- v-model="form.record_number"
- ></el-input>
- </el-form-item>
- </el-col>
-
-
- <el-col :span="24">
- <el-form-item label="主管护士 : " prop="record_number">
- <el-select v-model="form.nurse" style="width:200px">
- <el-option
- v-for="(item,index) in adminUserOptions"
- :key="index"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="本院前透析频率 : "
- prop="pre_hospital_dialysis_frequency"
- >
- <el-input
- v-model="form.pre_hospital_dialysis_frequency"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="本院前透析次数 : "
- prop="pre_hospital_dialysis_times"
- >
- <el-input v-model="form.pre_hospital_dialysis_times"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="本院首次透析 : "
- prop="hospital_first_dialysis_date"
- >
- <el-date-picker
- v-model="form.hospital_first_dialysis_date"
- type="date"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
-
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="患者来源 : "
- class="is-required"
- prop="source"
- >
- <el-radio-group v-model="form.source">
- <el-radio
- v-for="item in sourceOptions"
- :key="item.value"
- :label="item.value"
- :value="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col>
-
- <!-- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="患者去向 : "
- >
- <el-radio-group v-model="form.patient_source">
- <el-radio
- v-for="item in patientSourceList"
- :key="item.value"
- :label="item.value"
- :value="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col> -->
-
-
-
- <!-- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="流转地: "
- >
- <el-select v-model="form.patient_address" placeholder="请选择">
- <el-option
- v-for="item in liuAddresslist"
- :key="item.id"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col> -->
-
-
-
- <!-- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="流转开始时间 : "
- >
- <el-date-picker
- size="small"
- v-model="form.patient_start_time"
- prefix-icon="el-icon-date"
- :editable="false"
- style="width: 150px;"
- type="date"
- placeholder="选择日期时间"
- align="right"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- @change="startTimeChange"
- ></el-date-picker>
- </el-form-item>
- </el-col> -->
-
- <!-- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="流转结束时间 : "
- >
- <el-date-picker
- size="small"
- v-model="form.patient_end_time"
- prefix-icon="el-icon-date"
- :editable="false"
- style="width: 150px;"
- type="date"
- placeholder="选择日期时间"
- align="right"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- @change="startTimeChange"
- ></el-date-picker>
- </el-form-item>
- </el-col> -->
-
-
-
- <!-- <el-col :span="8" style="margin-bottom: 20px;" :style="isEdit ? 'width:360px' : ''">
- <el-form-item
- label="备注 : "
- prop="sch_remark">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.sch_remark"
- resize="none"
- placeholder
- ></el-input>
- </el-form-item>
- </el-col> -->
-
-
- <el-col :span="24" :style="isEdit ? 'width:360px' : ''" v-show="showLapseto">
- <el-form-item
- label="治疗状态(转归) : "
- class="is-required"
- prop="lapseto"
- >
- <el-radio-group v-model="form.lapseto">
- <el-radio
- v-for="item in lapsetoOptions"
- :key="item.value"
- :label="item.value"
- :value="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col>
-
- <el-col :span="24">
- <el-form-item label="传染病 : " prop="contagions">
- <el-radio-group v-model="form.is_infectious" @change="changeInfectious">
- <el-radio :label="1">阴性</el-radio>
- <el-radio :label="2">阳性</el-radio>
- </el-radio-group>
- <el-checkbox-group
- v-model="form.contagions"
- v-if="form.is_infectious == '2'"
- >
- <el-checkbox
- v-for="item in contagionList"
- v-if="item.type == 2"
- :label="item.id"
- :key="item.id"
- name="contagions"
- :value="item.id"
- >{{ item.name }}</el-checkbox
- >
- </el-checkbox-group>
- </el-form-item>
-
- </el-col>
-
- <el-col :span="24">
- <el-form-item label="传染病细分:" v-if="form.is_infectious == '2'">
- <el-input v-model="form.infectious_remark"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8">
- <el-form-item label="疑难内瘘 : " prop="contagions">
- <el-radio-group v-model="form.troble_shoot">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="2">否</el-radio>
- </el-radio-group>
- </el-form-item>
-
- </el-col>
-
- <el-col :span="8">
- <el-form-item label="人员编码: ">
- <el-input
- v-model="form.zb_patient_id"
- ></el-input>
- </el-form-item>
-
- </el-col>
-
-
-
- <el-col :span="16" v-if="!isEdit">
- <el-form-item label="检查结果日期 : ">
- <!--<el-date-picker v-model="form.record_date" type="date" placeholder="选择日期" :suffix-icon="'el-icon-menu'"-->
- <!--format="yyyy-MM-dd"-->
- <!--style="width: 200px;"-->
- <!--disabled-->
- <!--value-format="yyyy-MM-dd" v-if="isEdit"></el-date-picker>-->
-
- <el-date-picker
- v-model="form.record_date"
- type="date"
- placeholder="选择日期"
- :suffix-icon="'el-icon-menu'"
- format="yyyy-MM-dd"
- style="width: 200px;"
- value-format="yyyy-MM-dd"
- v-if="!isEdit"
- ></el-date-picker>
- <el-button
- type="primary"
- @click="recordCheck()"
- v-if="!isEdit"
- >录入检验检查</el-button
- >
- <!--<el-button type="primary" v-if="isEdit">查看检验检查</el-button>-->
- </el-form-item>
- </el-col>
-
- <el-col :span="24">
- <el-form-item label="传染病周期提醒:">
- <el-radio-group
- v-model="form.remind_cycle"
- @change="changeCycle()"
- >
- <el-radio :label="1">一月一次</el-radio>
- <el-radio :label="2">两月一次</el-radio>
- <el-radio :label="3">三月一次</el-radio>
- <el-radio :label="4">半年一次</el-radio>
- <el-radio :label="5">一年一次</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="诊断 : " prop="diagnose">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.diagnose"
- resize="none"
- placeholder
- ></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="24">
- <el-form-item label="诊疗计划 : " prop="diagnose">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.treatment_plan"
- resize="none"
- placeholder
- ></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="民族 : " prop="nation">
- <el-input v-model="form.nation" maxlength="30"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="籍贯 : " prop="native_place">
- <el-input
- v-model="form.native_place"
- maxlength="30"
- ></el-input>
- </el-form-item>
- </el-col>
-
-
-
- <div v-show="!generic_info_fold">
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="别名 : " prop="alias">
- <el-input v-model="form.alias"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="身高(cm) : " prop="height">
- <el-input
- maxlength="5"
- v-model="form.height"
- @change="checkHeight"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="婚姻状况 : " prop="maritalStatus">
- <el-select
- v-model="form.maritalStatus"
- placeholder="请选择婚姻状况"
- >
- <el-option
- v-for="item in maritalOptions"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col
- :span="8"
- style="clearfix"
- :style="isEdit ? 'width:360px' : ''"
- >
- <el-form-item label="子女情况(个) : " prop="children">
- <el-input maxlength="5" v-model="form.children"></el-input>
- </el-form-item>
- <!-- <el-form-item label=" " style="float:left;" label-width="30px">
- </el-form-item>-->
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="医保类型 : " prop="reimbursementWayID">
- <el-select v-model="form.reimbursementWayID">
- <el-option
- v-for="item in wayOptions"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="医保号 : " prop="healthCareNo">
- <el-input v-model="form.healthCareNo"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="教育程度 : " prop="educationOptions">
- <el-select v-model="form.education">
- <el-option
- v-for="item in educationOptions"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="固定电话 : ">
- <el-input
- v-model="form.tell_phone"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="费别 : ">
- <el-select v-model="form.expense_kind">
- <el-option
- v-for="item in expenseOptions"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col
- :span="8"
- :style="isEdit ? 'width:360px' : ''"
- style="height:59px;"
- >
- <el-form-item label="透析龄(月): ">
- <el-input v-model="form.dialysis_age"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="亲友电话 : " prop="relative_phone">
- <el-input
- v-model="form.relative_phone"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="亲友关系 : " prop="relative_relations">
- <el-input
- v-model="form.relative_relations"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="职业 : " prop="profession">
- <el-select v-model="form.profession">
- <el-option
- v-for="item in professionOptions"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" :style="isEdit ? 'width:360px' : ''">
- <el-form-item label="单位地址 : " prop="unit_address">
- <el-input v-model="form.unit_address"></el-input>
- </el-form-item>
- </el-col>
- </div>
- <el-col :span="24">
- <el-form-item>
- <el-button
- type="text"
- @click="generic_info_fold = !generic_info_fold"
- >
- {{ generic_info_fold ? "更多资料" : "收起" }}
- <i class="el-icon--right" :class="generic_fold_icon"></i>
- </el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-col>
- <el-col :span="4" align="center">
- <el-upload
- style="width:100%;"
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- :data="uploadData"
- class="uploadHead"
- :multiple="false"
- action="https://upload.qiniup.com"
- :show-file-list="false"
- :on-error="handleAvatarError"
- :on-success="handleAvatarSuccess"
- list-type="picture-card"
- :before-upload="beforeAvatarUpload"
- >
- <img
- width="100%"
- height="100%"
- v-if="form.avatar"
- :src="form.avatar"
- class="avatar"
- />
- <i class="el-icon-plus" v-else></i>
- </el-upload>
- <el-dialog :visible.sync="dialogVisible">
- <img width="100%" :src="dialogImageUrl" alt />
- </el-dialog>
- <el-upload
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- :data="uploadData"
- :multiple="false"
- action="https://upload.qiniup.com"
- :show-file-list="false"
- :on-error="handleAvatarError"
- :on-success="handleAvatarSuccess"
- :before-upload="beforeAvatarUpload"
- >
- <el-button
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- class="uploadHeadBtn"
- type="primary"
- >上传头像</el-button
- >
- </el-upload>
- <el-form-item>
- <el-input
- v-model="form.avatar"
- type="hidden"
- placeholder
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
-
- <div class="dataTitle">治疗信息</div>
- <div style="display: flex">
- <div style="flex: 1 1 9%;">
- <el-row :gutter="24">
- <el-col :span="24">
- <el-form-item label="主诉 : " prop="patient_complains">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.patient_complains"
- resize="none"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24">
- <el-col :span="24">
- <el-form-item label="既往史 : " prop="past_history">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.past_history"
- resize="none"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24">
- <el-col :span="24">
- <el-form-item label="过敏史 : " prop="past_history">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.allergic_history"
- resize="none"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24">
- <el-col :span="24">
- <el-form-item label="体格检查">
- <el-input
- v-model="form.temperature"
- style="width: 200px"
- >
- <template slot="prepend">体温:</template>
- <template slot="append">℃</template>
- </el-input>
- <el-input v-model="form.pulse" style="width: 220px" >
- <template slot="prepend">脉搏: </template>
- <template slot="append">次/分</template>
- </el-input>
- <el-input
- v-model="form.respiratory"
- style="width: 220px"
-
- >
- <template slot="prepend">呼吸: </template>
- <template slot="append">次/分</template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24">
- <el-col>
- <el-form-item>
- <el-input v-model="form.sbp" style="width: 240px" >
- <template slot="prepend">收缩压:</template>
- <template slot="append">mmHg</template>
- </el-input>
- <el-input v-model="form.dbp" style="width: 240px" >
- <template slot="prepend">舒张压:</template>
- <template slot="append">mmHg</template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
-
- <div style="flex: 1;" class="now_his">
- <el-row :gutter="24" style="height:100%;">
- <el-col :span="24" style="height:100%;">
- <el-form-item label="现病史 : " prop="present_history" style="height:100%;">
- <el-input
- style="height:100%;"
- type="textarea"
- :rows="3"
- v-model="form.present_history"
- resize="none"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </div>
- <el-row :span="24">
- <el-col>
- </el-col>
- <el-col></el-col>
- <el-col :span="24">
- <el-form-item label prop="remark">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.remark"
- resize="none"
- placeholder
- ></el-input>
- </el-form-item>
- </el-col>
-
-
- <!--<el-col :span="24">-->
- <!--<el-form-item label="传染病 : " prop="checkContagions">-->
- <!--<el-checkbox-group v-model="form.contagions">-->
- <!--<el-checkbox v-for="item in contagionList" v-if="item.type==2" :label="item.id" :key="item.id"-->
- <!--:value="item.id">{{item.name}}-->
- <!--</el-checkbox>-->
- <!--</el-checkbox-group>-->
- <!--</el-form-item>-->
- <!--</el-col>-->
- <!-- <el-col :span="24">
- <el-form-item label="慢性病 : " prop="diseases">
- <el-checkbox-group v-model="form.diseases">
- <el-checkbox
- v-for="item in checkDisease"
- :label="item.id"
- :key="item.id"
- :value="item.id"
- >{{ item.name }}</el-checkbox
- >
- </el-checkbox-group>
- </el-form-item>
- </el-col> -->
-
-
- <!-- <el-col :span="24">
- <el-form-item>
- <el-button
- type="text"
- @click="treat_info_fold = !treat_info_fold"
- >
- {{ treat_info_fold ? "更多治疗信息" : "收起" }}
- <i class="el-icon--right" :class="treat_fold_icon"></i>
- </el-button>
- </el-form-item>
- </el-col> -->
-
- <el-col :span="24">
- <el-form-item label="登记人员 : ">
- <span>{{ adminusername }}</span>
- </el-form-item>
- </el-col>
-
- <el-col :span="6">
- <el-form-item label="主治医生 : ">
- <el-select v-model="form.doctor">
- <el-option
- v-for="(item,index) in adminUserOptions"
- :key="index"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :span="24" align="right" class="newCol">
- <el-form-item>
- <el-button
- @click="$router.back(-1)"
- icon="el-icon-refresh"
- size="small"
- >取消</el-button
- >
- <el-button
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- @click="onSubmit('form')"
- size="small"
- type="primary"
- icon="el-icon-setting"
- >保存</el-button
- >
- <el-button
- v-if="isEdit == false"
- @click="onReSubmit('form')"
- :disabled="
- $store.getters.xt_user.subscibe.state == 3 || !subscibeFlag
- ? true
- : false
- "
- icon="el-icon-document-add"
- size="small"
- type="success"
- >保存并继续新增</el-button
- >
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- </div>
- </template>
-
- <script>
- import { getToken } from "@/api/qiniu";
- import BreadCrumb from "@/xt_pages/components/bread-crumb";
- import {
- dialysisAge,
- getFileExtension,
- isCardNo,
- isPositiveInteger,
- jsGetAge,
- uParseTime
- } from "@/utils/tools";
- import {
- createPatient,
- editPatient,
- fetchPatient,
- generateDialysisNo,
- GetPatientTotal
- } from "@/api/patient";
- import { fetchAllAdminUsers } from "@/api/doctor";
- // import { fetchAllDoctorAndNurse } from "@/api/doctor";
- import { getDataConfig } from "@/utils/data";
-
- const defaultForm = {
- avatar: "https://images.shengws.com/201809182128111.png",
- name: "",
- alias: "",
- idCardNo: "",
- dialysisNo: "",
- gender: "",
- birth: "",
- nation: "",
- native_place: "",
- height: "",
- maritalStatus: "",
- children: "",
- admissionNumber: "",
- reimbursementWayID: "",
- healthCareNo: "",
- phone: "",
- homeTelephone: "",
- relative_phone: "",
- relative_relations: "",
- lapseto: "",
- homeAddress: "",
- work: "",
- unit_address: "",
- profession: "",
- education: "",
- source: "",
- is_hospital_first_dialysis: "",
- firstDialysisDate: "",
- first_dialysis_hospital: "",
- predialysis_condition: [],
- pre_hospital_dialysis_frequency: "",
- pre_hospital_dialysis_times: "",
- hospital_first_dialysis_date: "",
- contagions: [],
- diseases: [],
- remark: "",
- sch_remark:"",
- diagnose: "",
- is_infectious: 1,
- age: "",
- record_number:"",
- response_result: "",
- remind_cycle: 0,
- record_date: "",
-
- tell_phone: "",
- first_treatment_date: "",
- dialysis_age: "",
- expense_kind: "",
- contact_name: "",
- user_sys_before_count: "",
- troble_shoot:2,
- zb_patient_id:"",
- doctor:"",
- nurse:"",
- patient_source:0,
- patient_start_time:"",
- patient_end_time:"",
- patient_address:"",
- infectious_remark:"",
- allergic_history:"",
- print_date:"",
- formItem: [
- {
- id: 0,
- item: "",
- item_id: 60,
- item_name: "丙型肝炎病毒核心抗体(AntiHCV)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 62,
- item_name: "乙型肝炎病毒表面抗原(HBsAg)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 63,
- item_name: "乙型肝炎病毒表面抗体(AntiHBs)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 64,
- item_name: "乙型肝炎病毒E抗原(HBeAg)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 65,
- item_name: "乙型肝炎病毒E抗体(AntiHBe)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 66,
- item_name: "乙型肝炎病毒核心抗体(AntiHBc)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 111,
- item_name: "HIV抗体",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 112,
- item_name: "梅毒",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 2,
- select_options: ["阴性", "阳性", "弱阳性"],
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 178,
- item_name: "乙型病毒DNA测定(HBVDNH)",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 1,
- select_options: 0,
- unit: "",
- value: ""
- },
- {
- id: 0,
- item: "",
- item_id: 179,
- item_name: "丙型病毒DNA测定(HCVDNH",
- project_id: 14,
- project_name: "传染病检查",
- range_type: 1,
- select_options: 0,
- unit: "",
- value: ""
- }
- ],
-
- // patientType: "",
- // partition: "",
- // bed: "",
- // age: "",
- // healthCareDueDate: "",
- // blood: "",
- // rh: "",
- // healthCareDueAlertDate: "",
- // receivingDate: "",
- // dialysisAge: "",
- // induction: "",
- // initial: "",
- // dialysisTotal: "",
- // doctor: "",
- // nurse: "",
- // assessment: "",
-
- patient_complains: "",
- present_history: "",
- past_history: "",
- temperature: "",
- pulse: "",
- respiratory: "",
- sbp: "",
- dbp: "",
- showOne:true,
- treatment_plan:"",
- };
-
- export default {
- name: "patientForm",
- props: {
- isEdit: {
- type: Boolean,
- default: false
- }
- },
- data() {
- // var checkName = (rule, value, callback) => {
- // const regName=/^([\u4E00-\u9FA5]{1,20}|[a-zA-Z\.\s])$/;
- // if (regName.test(value)){
- // return callback();
- // }
- // callback(new Error("请输入正确的名字"));
- // };
- var checkage = (rule, value, callback) =>{
- const regage=/^(?:[1-9][0-9]?|1[01][0-9]|120)$/
- if(regage.test(value)){
- callback()
- }else{
- callback(new Error('年龄输入不合法'))
- }
- }
- var checkidCard = (rule, value, callback) =>{
- const regid=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[0-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9Xx])$/
- if(regid.test(value)){
- callback()
- }else{
- callback(new Error('身份证输入有误'))
- }
- }
- var checkContagions = (rule, value, callback) => {
- if (this.form.is_infectious == '1') {
- return callback();
- }
- if (this.form.is_infectious == "2" && value.length == 0) {
- return callback(new Error("至少选择一项传染病"));
- }
- callback();
- };
-
- var checkPhone = (rule, value, callback) => {
- if (value.length == 0) {
- return callback(new Error("本人电话不能为空"));
- }
- if (
- !value.match(
- /^1\d{10}$/
- )
- ) {
- return callback(new Error("请填写正确的电话(手机号码)"));
- }
- callback();
- };
- var checkFamilyPhone = (rule, value, callback) => {
- if (value.length == 0) {
- return callback(new Error("家属电话不能为空"));
- }
- if (
- !value.match(
- /^1\d{10}$/
- )
- ) {
- return callback(new Error("请填写正确的电话(手机号码)"));
- }
- callback();
- };
-
- return {
- crumbs: [
- { path: false, name: "病人管理" },
- { path: false, name: "新增病人" }
- ],
- generic_info_fold: true,
- treat_info_fold: true,
-
- patientTotal: 0,
- pageLoad: true,
- avatarFlag: false,
- subscibeFlag: false,
- orgname: "",
- adminusername: "",
- form: Object.assign({}, defaultForm),
- formSubmit: true,
- submitMethod: "",
- uploadData: { token: "", key: "" },
- dialogImageUrl: "",
- qiniuDomain: "https://images.shengws.com/",
- dialogVisible: false,
- // typeOptions: null,
- // styleOptions: null,
- sourceOptions: [{ value: 1, label: "门诊" }, { value: 2, label: "住院" }, { value: 3, label: "门特" }],
- patientSourceList:[
- {value:1,label:"门诊"},
- {value:2,label:"住院"},
- ],
- lapsetoOptions: [
- { value: 1, label: "留治" },
- { value: 2, label: "转出" }
- ],
-
- // partitionOptions: null,
- sexOptions: [{ value: 1, label: "男" }, { value: 2, label: "女" }],
- isHospitalFirstDialysisOptions: [
- { value: 1, label: "是" },
- { value: 2, label: "否" }
- ],
- predialysisConditionOptions: [
- { value: 1, label: "腹膜透析" },
- { value: 2, label: "肾移植" }
- ],
- maritalOptions: null,
- wayOptions: null,
- educationOptions: null,
- professionOptions: null,
- // inductionOptions: null,
- // doctorOptions: null,
- // nurseOptions: null,
- // rhOptions: null,
- checkDisease: null,
- contagionList: null,
- dialogFormVisible: false,
- loading: null,
- submitMsg: "",
- patientID: 0,
- formLoading: false,
- expenseOptions: [
- { id: 1, name: "基本医保" },
- { id: 2, name: "新农合" },
- { id: 3, name: "自费医疗" },
- { id: 4, name: "公费医疗" },
- { id: 5, name: "商业保险" },
- { id: 6, name: "军队医疗" },
- { id: 7, name: "其他" }
- ],
-
- subscibe: {},
- showLapseto:true,
- rules: {
- contagions: [
- {
- type: "array",
- required: true,
- trigger: "change",
- validator: checkContagions
- }
- ],
- patientType: [
- { required: true, message: "请选择患者类型", trigger: "blur" }
- ],
- dialysisNo: [
- { required: true, message: "请填写透析号", trigger: "blur" }
- // {type:'number', message:"透析号填写有误", trigger: 'blur'}
- ],
- phone: [{ validator: checkPhone, trigger: "blur" }],
- source: [
- { required: true, message: "请选择患者来源", trigger: "blur" }
- ],
- lapseto: [
- { required: true, message: "请选择治疗状态", trigger: "blur" }
- ],
- name: [{ required: true, message: "请填写姓名", trigger: "blur" },
- // { validator: checkName,min:2,max:5, message: '请输入正确的名字', trigger: 'blur'}
- ],
- gender: [{ required: true, message: "请选择性别", trigger: "blur" }],
- idCardNo: [
- { required: true, message: "请填写身份证号", trigger: "blur" },
- {validator:checkidCard,trigger:'blur'}
- ],
- birth: [{ required: true, message: "请填写生日", trigger: "blur" }],
- age: [{ required: true, message: "年龄不能为空", trigger: "blur" },
- {validator: checkage,trigger:'blur'}],
- firstDialysisDate: [
- { required: true, message: "请选择日期", trigger: "blur" }
- ],
-
- homeTelephone: [{ validator: checkFamilyPhone, trigger: "blur" }],
- homeAddress: [{ required: true, message: "请填写住址", trigger: "blur" }],
- },
- adminUserOptions:[],
- org_id:0,
- liuAddresslist:[]
- };
- },
- components: {
- BreadCrumb
- },
- computed: {
- generic_fold_icon: function() {
- return this.generic_info_fold ? "el-icon-arrow-down" : "el-icon-arrow-up";
- },
- treat_fold_icon: function() {
- return this.treat_info_fold ? "el-icon-arrow-down" : "el-icon-arrow-up";
- }
- },
- created() {
- this.liuAddresslist = getDataConfig('hemodialysis', 'liu_address')
- console.log("liuAddresslist",this.liuAddresslist)
- this.fetchAllAdminUsers();
-
-
- if(this.isEdit == true){
- this.showLapseto = false
- }
- // this.styleOptions = this.$store.getters.patient_types;
- // this.partitionOptions = this.$store.getters.partitions;
- this.maritalOptions = getDataConfig("patient", "marital_options");
- this.wayOptions = getDataConfig("patient", "reimbursement_ways");
- // this.typeOptions = this.$store.getters.blood_types;
- // this.rhOptions = this.$store.getters.rh;
- this.educationOptions = getDataConfig("patient", "education_types");
-
- this.professionOptions = getDataConfig("patient", "profession_options");
- var obj ={id:11,name:"退休"}
- var objOne = {id:12,name:"灵活就业人员"}
- this.professionOptions.push(obj)
- this.professionOptions.push(objOne)
-
-
- // this.inductionOptions = this.$store.getters.induction_options;
- this.contagionList = this.$store.getters.contagions;
- this.checkDisease = this.$store.getters.disease;
-
- this.subscibe = this.$store.getters.xt_user.subscibe;
- this.GetPatientTotal();
-
- // this.fetchAllDoctorAndNurse();
- this.pageLoad = false;
-
- var xtuser = this.$store.getters.xt_user;
- this.orgname = xtuser.org.org_name;
- this.adminusername = xtuser.user.user_name;
- this.org_id =this.$store.getters.xt_user.org.id
-
- if (this.isEdit) {
- this.submitMsg = "修改患者信息成功";
- const id = this.$route.params && this.$route.params.id;
- this.patientID = parseInt(id);
- if (isNaN(this.patientID) || this.patientID <= 0) {
- this.$notify.error({
- title: "错误",
- message: "无效的id"
- });
- this.$router.back(-1);
- }
- this.fetchPatient(id);
- this.avatarFlag = true;
- } else {
- this.submitMsg = "新增患者成功";
- this.form = Object.assign({}, defaultForm);
- this.form.lapseto = 1
- if(this.org_id == 0 || this.org_id ==9919 || this.org_id ==10571){
- this.form.diagnose = "1.慢性肾脏病5期 IgA肾病 维持性血液透析 肾性贫血 肾性高血压 继发性甲状旁腺功能亢进症 2.右前臂自体动静脉内瘘成形术后"
- this.form.treatment_plan ="完善相关检查,规律血液透析,每周2次,每次5小时。纠正贫血, 达泊丁 (自备) 120ug 皮下注射 每4周1次;控制血压:非洛地平缓释片 5mg 口服 1次/日,酒石酸美托洛尔片 50mg/次 口服 每日1次;阿托伐他汀钙片 40mg/次 口服 每日1次。"
- this.form.patient_complains = "维持性血液透析1年余"
- this.form.past_history = "既往否认冠心病、糖尿病等慢性疾病;否认肝炎、结核、艾滋、梅毒等传染病史;否认药物、食物过敏史;无重大手术、外伤史。"
- this.form.present_history = "患者于30年前体检查尿蛋白+,行肾穿刺活检,病理结果示:IgA肾病,此后于香港当地医院规范治疗,定时复查,至2021年12月复查发现血肌酐渐升高,300+umol/L,血压高于正常,开始为肾透析行右前臂自体动静脉内瘘成形术,1年前导入透析治疗,每周2次,每次5小时,规律维持至今。平素无胸闷、心慌,无咳嗽、咳痰,无恶心、呕吐,饮食、睡眠可,尿量约1000ml/日。本次检查感染四项阴性,血红蛋白103g/L,PTH 28.2pmol/L, Ca 2.17mmol/L ,P 1.57mmol/L。"
- this.form.remark = "神志清,精神可,体型肥胖,面色黝黑,颜面、眼睑无浮肿,皮肤未见出血点、瘀斑;胸廓对称,心前区无隆起,心界向左扩大,心音有力,节律规整,未闻及明显杂音,双肺呼吸音粗;腹部呈脂肪堆积,腹软,无包块、无皮疹、无静脉曲张、无压痛;脊柱、四肢未见畸形,关节活动正常,肌力正常;双下肢无明显水肿;右前臂自体动静脉内瘘能触及震颤、闻及连续杂音。"
- this.form.temperature = 36.5
- this.form.pulse=75
- this.form.respiratory = 20
- this.form.sbp=150
- this.form.dbp = 80
- }
- }
-
- },
- watch: {
- // "form.record_date": function(val) {
- // console.log(val);
- // if (val == null || val == "") {
- // console.log("111111");
- // this.form.remind_cycle = "";
- // }
- // }
- },
- methods: {
- fetchAllAdminUsers() {
- fetchAllAdminUsers().then((response) => {
- if (response.data.state === 1) {
- this.form.doctor = this.$store.getters.xt_user.user.id
- this.adminUserOptions = response.data.data.users;
-
-
- }
- });
- },
- recordCheck() {
- if (this.form.record_date == "") {
- this.$message.error("请先选择检验检查日期");
- return;
- } else {
- this.dialogFormVisible = true;
- }
- },
- GetPatientTotal() {
- GetPatientTotal()
- .then(response => {
- if (response.data.state == 1) {
- this.patientTotal = response.data.data.total;
- this.subscibeFlag = true;
- // if ((this.subscibe.state == 2 && this.patientTotal >= 100) || (this.subscibe.state == 1 && this.patientTotal >= 200)) {
- // this.$alert('患者数已达到当前服务版本病人数,需要升级到更高的版本', '提示', {
- // confirmButtonText: '确定',
- // showClose: false,
- // callback: action => {
- // this.$router.push('/service/buy')
- // }
- // })
- // } else {
- // this.subscibeFlag = true
- // }
- } else {
- this.$message.error(response.data.msg);
- }
- })
- .catch(e => {});
- },
-
- changeGender(value) {
- if (this.avatarFlag) {
- return false;
- }
- if (value == 1) {
- this.form.avatar = "https://images.shengws.com/201809182128111.png";
- } else if (value == 2) {
- this.form.avatar = "https://images.shengws.com/201809182128222.png";
- } else {
- }
- },
- resetForm(formName) {
- this.$refs[formName].resetFields();
- },
- onReSubmit(formName) {
- this.submitForm(formName, "renew");
- },
- onSubmit(formName) {
- console.log("2222",this.form)
- this.submitForm(formName, "redict");
- },
- submitForm(formName, action) {
- if (!this.formSubmit) {
- return false;
- }
- this.form.user_sys_before_count = this.form.user_sys_before_count.toString()
- this.$refs[formName].validate(valid => {
- if (valid) {
- this.formSubmit = false;
- if (this.isEdit) {
- this.form.age = parseInt(this.form.age);
- this.form.user_sys_before_count = this.form.user_sys_before_count.toString();
- this.form.troble_shoot = parseInt(this.form.troble_shoot)
- this.form.doctor = parseInt(this.form.doctor)
- this.form.nurse = parseInt(this.form.nurse)
- if(this.form.patient_source >0){
- this.form.patient_source = parseInt(this.form.patient_source)
- }else{
- this.form.patient_source = 1
- }
-
- if(this.form.patient_source == "NaN"){
- this.form.patient_source = 1
- }
-
-
-
- if(this.form.avatar.indexOf('?imageView2/2/w/500/h/500/q/90')!=-1){
- this.form.avatar = this.form.avatar
- }else{
- this.form.avatar = this.form.avatar + "?imageView2/2/w/500/h/500/q/90"
- }
- console.log("form---",this.form)
-
- editPatient(this.patientID, this.form)
-
- .then(response => {
- if (response.data.state == 0) {
- this.$message.error(response.data.msg);
- this.formSubmit = true;
- return false;
- } else {
- this.formSubmit = false;
- this.$notify({
- title: "成功",
- message: this.submitMsg,
- type: "success",
- duration: 2000
- });
- this.$refs[formName].resetFields();
- if (action !== "renew") {
- this.$router.back(-1);
- }
- this.formSubmit = true;
- return false;
- }
- })
- .catch(err => {
- this.$message.error("网络异常");
- this.formSubmit = true;
- return false;
- });
- } else {
- this.form.age = parseInt(this.form.age);
- this.form.troble_shoot = parseInt(this.form.troble_shoot)
- this.form.doctor = parseInt(this.form.doctor)
- this.form.nurse = parseInt(this.form.nurse)
- if(this.form.patient_source >0){
- this.form.patient_source = parseInt(this.form.patient_source)
- }else{
- this.form.patient_source = 1
- }
-
- if(this.form.patient_source == "NaN"){
- this.form.patient_source = 1
- }
- console.log("form233322332w",this.form)
-
- createPatient(this.form)
- .then(response => {
- if (response.data.state == 0) {
- this.$message.error(response.data.msg);
- this.formSubmit = true;
- return false;
- } else {
- this.formSubmit = true;
- this.$notify({
- title: "成功",
- message: this.submitMsg,
- type: "success",
- duration: 2000
- });
- this.$refs[formName].resetFields();
- this.$store.dispatch("SetSubscibePatients");
- var sub = this.$store.getters.xt_user.subscibe;
- if (action !== "renew") {
- this.$router.back(-1);
- }
- return false;
- }
- })
- .catch(err => {
- this.$message.error("网络异常");
- this.formSubmit = true;
- return false;
- });
- }
- } else {
- this.formSubmit = true;
- return false;
- }
- });
- },
- handlePictureCardPreview(file) {
- this.dialogImageUrl = file.url;
- this.dialogVisible = true;
- },
- handleAvatarError(err, file, fileList) {
- this.$message.error(err);
- this.loading.close();
- return false;
- },
- handleAvatarSuccess(res, file) {
- // this.imageUrl = URL.createObjectURL(file.raw);
- this.form.avatar = this.qiniuDomain + res.url +"?imageView2/2/w/500/h/500/q/90";
- console.log("上传成功地址",this.form.avatar)
- this.avatarFlag = true;
- this.loading.close();
- },
- beforeAvatarUpload(file) {
- // const isJPG = file.type === "image/jpeg";
- var fileType = file.type;
- const isJPG = fileType.indexOf("image") > -1;
- const isLt2M = file.size / 1024 / 1024 < 6;
-
- if (!isJPG) {
- this.$message.error("只能上传图片");
- return false;
- }
- if (!isLt2M) {
- this.$message.error("上传头像图片大小不能超过 6MB!");
- return false;
- }
-
- var date = new Date();
- var ext = getFileExtension(file.name);
- var key =
- date.getFullYear() +
- "/" +
- (date.getMonth() + 1) +
- "/" +
- date.getDate() +
- "/" +
- date.getHours() +
- "/" +
- date.getMinutes() +
- "/" +
- date.getSeconds() +
- "/" +
- "_s_" +
- file.uid +
- "." +
- ext;
- this.loading = this.$loading({
- lock: true,
- text: "上传中...",
- spinner: "el-icon-loading",
- background: "rgba(0, 0, 0, 0.7)"
- });
-
- const _self = this;
- return new Promise((resolve, reject) => {
- getToken()
- .then(response => {
- const token = response.data.data.uptoken;
- _self._data.uploadData.token = token;
- _self._data.uploadData.key = key;
- resolve(true);
- })
- .catch(err => {
- console.log(err);
- reject(false);
- this.loading.close();
- });
- });
- },
- generatedialysisno() {
- generateDialysisNo().then(response => {
- this.form.dialysisNo = response.data.data.no + "";
- });
- },
- checkIdCardNo() {
- // console.log(this.form.idCardNo);
- if (!isCardNo(this.form.idCardNo)) {
- // this.$message.error("身份证号码信息有误!");
- this.form.birth = "";
- return false;
- }
- var thisLen = this.form.idCardNo.length;
- var birth = "";
- if (thisLen == 15) {
- birth = "19" + this.form.idCardNo.substr(6, 6);
- } else {
- birth = this.form.idCardNo.substr(6, 8);
- }
- this.form.birth =
- birth.substr(0, 4) +
- "-" +
- birth.substr(4, 2) +
- "-" +
- birth.substr(6, 2);
-
- this.form.age = jsGetAge(this.form.birth, "-");
- },
- hadSelectBirth() {
- this.form.age = jsGetAge(this.form.birth, "-");
- },
- checkHeight() {
- if (!isPositiveInteger(this.form.height)) {
- this.$message.error("身高请填写正整数!");
- return false;
- }
- },
- selectFirstDialysisDate() {
- this.form.dialysisAge = dialysisAge(this.form.firstDialysisDate);
- },
- fetchPatient(id) {
- fetchPatient(id)
- .then(response => {
- if (response.data.state == 1) {
- this.$emit("tran-patient-info", response.data.data.patient);
- var patietInfo = response.data.data.patient;
- console.log("9999999",response.data.data.patient)
- this.form.avatar = patietInfo.avatar;
- this.form.name = patietInfo.name;
- this.form.alias = patietInfo.alias;
- this.form.idCardNo = patietInfo.id_card_no;
- this.form.dialysisNo = patietInfo.dialysis_no;
- this.form.gender = patietInfo.gender;
- if (patietInfo.gender == 1 || patietInfo.gender == 2) {
- this.form.gender = patietInfo.gender;
- }
- this.form.birth = uParseTime(patietInfo.birthday, "{y}-{m}-{d}");
-
- this.form.nation = patietInfo.nation;
- this.form.native_place = patietInfo.native_place;
- this.form.height = patietInfo.height + "";
- console.log(this.form.birth);
- if (patietInfo.marital_status > 0) {
- this.form.maritalStatus = patietInfo.marital_status;
- }
- this.form.children = patietInfo.children;
- this.form.admissionNumber = patietInfo.admission_number;
- if (patietInfo.reimbursement_way_id > 0) {
- this.form.reimbursementWayID = patietInfo.reimbursement_way_id;
- }
- this.form.healthCareNo = patietInfo.health_care_no;
- this.form.phone = patietInfo.phone;
- this.form.homeTelephone = patietInfo.home_telephone;
- this.form.relative_phone = patietInfo.relative_phone;
- this.form.relative_relations = patietInfo.relative_relations;
- this.form.remind_cycle = patietInfo.remind_cycle;
- this.form.homeAddress = patietInfo.home_address;
- this.form.work = patietInfo.work_unit;
- this.form.unit_address = patietInfo.unit_address;
- this.form.user_sys_before_count = patietInfo.user_sys_before_count;
- this.form.treatment_plan = patietInfo.treatment_plan
- if (patietInfo.profession > 0) {
- this.form.profession = patietInfo.profession;
- }
- if (patietInfo.education_level > 0) {
- this.form.education = patietInfo.education_level;
- }
- if (patietInfo.source == 1 || patietInfo.source == 2) {
- this.form.source = patietInfo.source;
- }
- if (patietInfo.lapseto == 1 || patietInfo.lapseto == 2 || patietInfo.lapseto == 3) {
- this.form.lapseto = patietInfo.lapseto;
- }
- if (
- patietInfo.is_hospital_first_dialysis == 1 ||
- patietInfo.is_hospital_first_dialysis == 2
- ) {
- this.form.is_hospital_first_dialysis =
- patietInfo.is_hospital_first_dialysis;
- }
- if (patietInfo.first_dialysis_date != 0) {
- this.form.firstDialysisDate = uParseTime(
- patietInfo.first_dialysis_date,
- "{y}-{m}-{d}"
- );
- }
- this.form.first_dialysis_hospital =
- patietInfo.first_dialysis_hospital;
- if (patietInfo.predialysis_condition.length > 0) {
- this.form.predialysis_condition = patietInfo.predialysis_condition.split(
- ","
- );
- }
- this.form.pre_hospital_dialysis_frequency =
- patietInfo.pre_hospital_dialysis_frequency;
- this.form.pre_hospital_dialysis_times =
- patietInfo.pre_hospital_dialysis_times;
- if (patietInfo.hospital_first_dialysis_date != 0) {
- this.form.hospital_first_dialysis_date = uParseTime(
- patietInfo.hospital_first_dialysis_date,
- "{y}-{m}-{d}"
- );
- }
- this.form.contagions = response.data.data.contagions;
- this.form.diseases = response.data.data.diseases;
- this.form.remark = patietInfo.remark;
- this.form.sch_remark = patietInfo.sch_remark;
-
- this.form.diagnose = patietInfo.diagnose;
-
- this.form.patient_complains = patietInfo.patient_complains;
- this.form.present_history = patietInfo.present_history;
- this.form.past_history = patietInfo.past_history;
- this.form.temperature = patietInfo.temperature;
- this.form.pulse = patietInfo.pulse;
- this.form.respiratory = patietInfo.respiratory;
- this.form.sbp = patietInfo.sbp;
- this.form.dbp = patietInfo.dbp;
-
- this.form.response_result = patietInfo.response_result;
-
- this.form.is_infectious = patietInfo.is_infectious;
- console.log("哈哈哈哈",patietInfo.is_infectious)
- // if(this.form.is_infectious == 1){
- // this.form.remind_cycle = 0
- // }
- this.form.tell_phone = patietInfo.tell_phone;
- this.form.dialysis_age = patietInfo.dialysis_age;
- this.form.contact_name = patietInfo.contact_name;
- if (patietInfo.expense_kind == 0) {
- this.form.expense_kind = "";
- } else {
- this.form.expense_kind = patietInfo.expense_kind;
- }
-
- this.form.troble_shoot = patietInfo.troble_shoot
- this.form.zb_patient_id = patietInfo.zb_patient_id
-
-
- this.form.first_treatment_date = uParseTime(
- patietInfo.first_treatment_date,
- "{y}-{m}-{d}"
- );
-
- this.form.print_date = uParseTime(
- patietInfo.print_date,
- "{y}-{m}-{d}"
- );
-
- if (patietInfo.age == 0) {
- this.form.age = jsGetAge(this.form.birth, "-");
- } else {
- this.form.age = patietInfo.age;
- }
-
- // this.form.initial = patietInfo.initial_dialysis + "";
- // this.form.dialysisTotal = patietInfo.total_dialysis + "";
- // this.form.assessment = patietInfo.evaluate;
- // if (patietInfo.patient_type > 0) {
- // this.form.patientType = patietInfo.patient_type;
- // }
- // if (patietInfo.partition_id > 0) {
- // this.form.partition = patietInfo.partition_id;
- // }
- // if (patietInfo.bed_id > 0) {
- // this.form.bed = patietInfo.bed_id;
- // }
- // this.form.healthCareDueDate = uParseTime(
- // patietInfo.health_care_due_date,
- // "{y}-{m}-{d}"
- // );
- // if (patietInfo.blood_type > 0) {
- // this.form.blood = patietInfo.blood_type;
- // }
- // if (patietInfo.rh > 0) {
- // this.form.rh = patietInfo.rh;
- // }
- // this.form.healthCareDueAlertDate = uParseTime(
- // patietInfo.health_care_due_alert_date,
- // "{y}-{m}-{d}"
- // );
- // this.form.receivingDate = uParseTime(
- // patietInfo.receiving_date,
- // "{y}-{m}-{d}"
- // );
- // this.form.dialysisAge = dialysisAge(
- // this.form.firstDialysisDate,
- // "-"
- // );
- // if (patietInfo.induction_period > 0) {
- // this.form.induction = patietInfo.induction_period;
- // }
- // if (patietInfo.attending_doctor_id > 0) {
- // this.form.doctor = patietInfo.attending_doctor_id;
- // }
- if (patietInfo.head_nurse_id > 0) {
- this.form.nurse = patietInfo.head_nurse_id;
- }
- // if (patietInfo.registrars_id > 0) {
- // this.form.registrars = patietInfo.registrars_id;
- // }
- this.form.record_number = patietInfo.record_number
- this.form.doctor = patietInfo.doctor
- if(this.form.doctor == 0){
- this.form.doctor = ""
- }
-
-
- this.form.patient_source = patietInfo.patient_source
-
- if (patietInfo.patient_start_time != 0) {
- this.form.patient_start_time = uParseTime(
- patietInfo.patient_start_time,
- "{y}-{m}-{d}"
- );
- }
-
- if (patietInfo.patient_end_time != 0) {
- this.form.patient_end_time = uParseTime(
- patietInfo.patient_end_time,
- "{y}-{m}-{d}"
- );
- }
- this.form.patient_address = patietInfo.patient_address
- this.form.allergic_history = patietInfo.allergic_history
- this.form.infectious_remark = patietInfo.infectious_remark
-
-
- // this.checkIdCardNo();
- } else {
- this.$notify.error({
- title: "错误",
- message: "网络异常"
- });
- this.$router.back(-1);
- }
-
- // this.postForm = response.data
- // // Just for test
- // this.postForm.title += ` Article Id:${this.postForm.id}`
- // this.postForm.content_short += ` Article Id:${this.postForm.id}`
- })
- .catch(err => {
- this.$notify.error({
- title: "错误",
- message: "网络异常"
- });
- this.$router.back(-1);
- });
- },
- submitNew(formName) {
- this.dialogFormVisible = false;
- },
- changeCycle(val) {
- if (!this.isEdit) {
- if (this.form.record_date == "" || this.form.record_date == null) {
- this.$message.error("请先选择检查结果日期");
- this.form.remind_cycle = "";
- return;
- }
- }
- },
- changeInfectious(val){
-
- if(val == 1){
- this.showOne = false
- }
- if(val == 2){
- this.showOne = true
- }
- },
-
- getTime(value, temp) {
- if (value != undefined) {
- return uParseTime(value, temp);
- }
- return "";
- },
-
- // fetchAllDoctorAndNurse() {
- // fetchAllDoctorAndNurse().then(response => {
- // if (response.data.state == 1) {
- // this.doctorOptions = response.data.data.doctors;
- // this.nurseOptions = response.data.data.nursers;
- // }
- // });
- // }
- }
- };
- </script>
-
- <style rel="stylesheet/scss" lang="scss" scoped>
- .uploadHeadBtn {
- width: 148px;
- margin-top: 10px;
- }
-
- .el-form {
- .el-col-6,
- .el-col-8 {
- width: 430px;
- height: 59px !important;
- }
-
- .el-form-item {
- .el-select {
- width: 100%;
- }
-
- .el-date-editor.el-input {
- width: 100%;
- }
-
- .textarea {
- width: 100%;
- height: 70px;
- border-color: #dcdfe6;
- padding: 5px;
- }
- }
- }
- .el-select-dropdown {
- z-index: 998 !important;
- }
- .newCol {
- position: fixed;
- bottom: 0;
- right: 50px;
- }
-
- /deep/ .now_his{
- .el-row{
- .el-col-24{
- .el-form-item{
- .el-form-item__content{
- height: 100%;
- .el-textarea{
- .el-textarea__inner{
- height: 93%;
- }
- }
- }
- }
- }
- }
- }
- </style>
|