12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103 |
- <template>
- <el-dialog
- :title="formTitle"
- width="1000px"
- :visible.sync="visible"
- :before-close="_close"
- class="addDrugsDialog"
- >
- <el-tabs v-model="activeName">
- <el-tab-pane label="基础数据" name="first">
- <div>
- <el-form :model="form" :rules="rules" ref="form" label-width="120px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
- <el-form-item label="药品名称 : " prop="drug_name">
- <el-input v-model="form.drug_name" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
-
- <el-form-item label="药品别名 : ">
- <el-input v-model="form.drug_alias" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
-
- <el-form-item label="药品类别 : " prop="drug_category">
- <el-select v-model="form.drug_category" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in drugCategoryList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <div style="width:100%;">
- <div><span style="width:120px;text-align:right;display:inline-block;margin-bottom:10px;"><span style="color:red;">*</span>单位&规格:</span><span style="color:#999">例如:0.75 g * 60 粒 / 盒</span></div>
- </div>
- <div style="width:100%;display:flex;align-items:center;margin-left:120px;">
- <el-form-item prop="dose" class="noMargin">
- <el-input v-model="form.dose" type="number" style="width:100px;margin-right:5px;" placeholder="剂量" :disabled="dosageShow"></el-input>
- </el-form-item>
- <el-form-item prop="dose_unit" class="noMargin">
- <el-select v-model="form.dose_unit" style="width:160px;" placeholder="剂量单位" @change="changeDoseUnit">
- <el-option
- v-for="(item,index) in getDataConfig('hemodialysis','units')"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- <span style="margin-bottom:20px;font-size:20px;padding:0 10px;">*</span>
- <el-form-item prop="min_number" class="noMargin">
- <el-input v-model="form.min_number" style="width:100px;margin-right:5px;" :disabled="minNumberShow" type="number" placeholder="拆零"> </el-input>
- </el-form-item>
- <el-form-item prop="min_unit" class="noMargin">
- <el-select v-model="form.min_unit" style="width:160px;" placeholder="拆零单位" @change="changeMinUnit">
- <el-option
- v-for="(item,index) in getDataConfig('hemodialysis','units')"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- <span style="margin-bottom:20px;font-size:20px;padding:0 10px;">/</span>
- <el-form-item prop="max_unit" class="noMargin">
- <el-select v-model="form.max_unit" style="width:160px;" placeholder="包装单位" @change="changeMaxUnit">
- <el-option
- v-for="(item,index) in getDataConfig('hemodialysis','units')"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </div>
-
-
- <el-form-item label="药品类型 : " prop="drug_type">
- <el-select v-model="form.drug_type" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in drugTypeList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="默认给药途径:" prop="delivery_way">
- <el-select v-model="form.delivery_way" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item, index) in deliveryWayOptions"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="默认执行频率:" prop="execution_frequency">
- <el-select v-model="form.execution_frequency" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in executionFrequencyOptions"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="默认单次用量 : " prop="drug_dose">
- <el-input v-model="form.drug_dose" style="width:70px;margin-right:5px;" placeholder=""
- maxlength="30"></el-input>
- <el-select v-model="form.drug_dose_unit" style="width:80px;" placeholder="单次用量单位">
- <el-option
- v-for="(item,index) in unitList"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="默认开药数量:" prop="prescribing_number">
- <el-input v-model="form.prescribing_number" style="width:70px;margin-right:5px;" placeholder=""
- maxlength="30"></el-input>
- <el-select v-model="form.prescribing_number_unit" style="width:80px;" placeholder="开药数量单位">
- <el-option
- v-for="(item,index) in packingUnit"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- <!-- <el-form-item label="开药数量单位:" prop="prescribing_number">
- <el-select v-model="form.prescribing_number_unit" style="width:160px;" placeholder="开药数量单位">
- <el-option
- v-for="(item,index) in getDataConfig('hemodialysis','units')"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item> -->
- <el-form-item label="默认开药天数:" prop="prescribing_number">
- <el-input v-model="form.drug_day" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="库存警戒:" prop="drug_stock_limit">
- <el-input v-model="form.drug_stock_limit" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="产地:" prop="drug_origin_place">
- <el-input v-model="form.drug_origin_place" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="药品剂型 : " prop="drug_dosage_form">
- <el-select v-model="form.drug_dosage_form" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in drugDosageFormList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="医保等级 : ">
- <el-select v-model="form.medical_insurance_level" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in medicalInsuranceLevelList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
-
- <!-- <el-form-item label="单位换算 : ">
- <el-input v-model="form.unit_matrixing" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item> -->
- <el-form-item label="拆零零售价(元) : " prop="min_price">
- <el-input v-model="form.min_price" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="包装零售价(元) : " prop="retail_price">
- <el-input v-model="form.retail_price" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="进货价(元) : " prop="last_price">
- <el-input v-model="form.last_price" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="开药控制 : " prop="drug_control">
- <el-select v-model="form.drug_control" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in drugControlList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="批准文号 : " prop="number">
- <el-input v-model="form.number" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="药物分类 : " prop="drug_classify">
- <el-select v-model="form.drug_classify" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item, index) in drugClassifyList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
-
-
-
- <el-form-item label="限制性用药 : ">
- <el-select v-model="form.lmt_used_flag" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in lmt_used_flags"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
-
-
- <el-form-item label="审批标志 : ">
- <el-select v-model="form.hosp_appr_flag" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in hosp_appr_flags"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
-
-
- <el-form-item label="医保编码 : " prop="medical_insurance_number">
- <el-input v-model="form.medical_insurance_number" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="生产厂商 : " prop="manufacturer">
-
- <el-select v-model="form.manufacturer" style="width:160px;" filterable placeholder="请选择">
- <el-option
- v-for="(item,index) in manufacturerList"
- :key="index"
- :label="item.manufacturer_name"
- :value="item.id">
- </el-option>
- </el-select>
-
- </el-form-item>
- <el-form-item label="药理分类 : " prop="pharmacology_category">
- <el-select v-model="form.pharmacology_category" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in pharmacologyCategoryList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="统计分类 : " prop="statistics_category">
- <el-select v-model="form.statistics_category" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in statisticsCategoryList"
- :key="index"
- :label="item.name"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="本位码 : " prop="code">
- <el-input v-model="form.code" style="width:160px;" placeholder="" maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="是否特病目录:" prop="is_special_diseases">
- <el-select v-model="form.is_special_diseases" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否备案 : " prop="is_record">
- <el-select v-model="form.is_record" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="处方药标志">
- <el-select v-model="form.prescription_mark" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="社保目录编码">
- <el-input v-model="form.social_security_directory_code" style="width:160px"></el-input>
- </el-form-item>
-
-
-
- <el-form-item label="备案日期:">
- <el-date-picker
- style="width:160px"
- value-format="yyyy-MM-dd"
- v-model="form.record_date"
- type="date"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
-
- <el-form-item label="药品备注:">
- <el-input v-model="form.drug_remark" style="width:160px"></el-input>
- </el-form-item>
-
- <el-form-item label="经销商: " style="width:100%">
-
- <el-select v-model="form.dealer" style="width:100%;" filterable placeholder="请选择">
- <el-option
- v-for="(item,index) in dealer"
- :key="index"
- :label="item.dealer_name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="" style="display:none;">
- <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="状态 : " prop="drug_status">
- <el-checkbox-group v-model="drug_status">
- <el-checkbox label="停用">停用</el-checkbox>
- <el-checkbox label="贵重">贵重</el-checkbox>
- <el-checkbox label="收费">收费</el-checkbox>
- <el-checkbox label="库存管理">库存管理</el-checkbox>
- <el-checkbox label="默认用药途径收费">默认用药途径收费</el-checkbox>
- <el-checkbox label="注射类">注射类</el-checkbox>
- </el-checkbox-group>
- </el-form-item>
- <el-form-item label="限制说明 : " prop="limit_remark" style="width:100%;">
- <el-input type="form.restrictions" :rows="2" placeholder="请输入内容"
- v-model="form.limit_remark"></el-input>
- </el-form-item>
- </el-form>
- </div>
- </el-tab-pane>
- <el-tab-pane label="扩展数据" name="second">
- <el-form :model="form" label-width="120px"
- style="display: flex;flex-wrap: wrap;justify-content: space-between;">
-
- <el-form-item label="标签:" prop="label">
- <el-select v-model="form.label" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in sign"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="收费项目排序:" prop="sort">
- <el-input v-model="form.sort" style="width:160px;" placeholder="" maxlength="30"></el-input>
- </el-form-item>
- <el-form-item label="是否常用医嘱:" prop="is_use_doctor_advice">
- <el-select v-model="form.is_use_doctor_advice" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否默认:" prop="is_default">
- <el-select v-model="form.is_default" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="(item,index) in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否收费预估项:" prop="is_charge_predict">
- <el-select v-model="form.is_charge_predict" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="item,index in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否统计工作量:" prop="is_statistics_work">
- <el-select v-model="form.is_statistics_work" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="item,index in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否收费常用项:" prop="is_charge_use">
- <el-select v-model="form.is_charge_use" style="width:160px;" placeholder="请选择">
- <el-option
- v-for="item,index in options"
- :key="index"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="" style="visibility: hidden;">
- <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
- </el-form-item>
- </el-form>
- </el-tab-pane>
- </el-tabs>
-
-
- <span slot="footer" class="dialog-footer">
- <el-button @click="cancle('form')">取 消</el-button>
- <el-button type="primary" @click="comfirm('form')">保 存</el-button>
- </span>
- </el-dialog>
- </template>
-
- <script>
- import { getDataConfig, getDictionaryDataConfig } from '@/utils/data'
- import { getAdviceConfig } from '@/api/advice'
- import { GetAllConfig, getManufacturerList,getInitializtion } from '@/api/stock'
-
- export default {
- data() {
- return {
- visible: false,
- formTitle: '',
- activeName: 'first',
- // manufacturers:[],
- sign: [
- { id: 1, name: '透析模式' },
- { id: 2, name: '特殊护理' },
- { id: 3, name: '抗凝剂' }
- ],
- options: [{
- value: '1',
- label: '是'
- }, {
- value: '2',
- label: '否'
- }],
- lmt_used_flags: [{
- id: 0,
- name: '否'
- }, {
- id: 1,
- name: '是'
- }], hosp_appr_flags: [
- {
- id: 1,
- name: '无需审批'
- }, {
- id: 2,
- name: '审批通过'
- }, {
- id: 3,
- name: '审批不通过'
- }
- ],
-
- deliveryWayOptions: [],
- executionFrequencyOptions: [],
- value: '',
- radio: '1',
- drug_status: [],
- form: {
- lmt_used_flag: 0, //是否限制用药
- hosp_appr_flag: '',//审批标志
- drug_name: '',//药品名称
- pinyin: '',//拼音
- wubi: '',//五笔输入法
- drug_alias: '',//药品别名
- drug_alias_pinyin: '',//别名拼音
- drug_alias_wubi: '',//别名五笔
- drug_category: '',//药品类别
- drug_spec: '',//药品规格
- drug_type: '',//药品类型
- drug_stock_limit: '',//库存警戒
- drug_origin_place: '',//产地
- drug_dosage_form: '',//药品剂型
- medical_insurance_level: '',//医保等级
- max_unit: '',//最大单位
- min_unit: '',//最小单位
- unit_matrixing: '',//单位换算
- retail_price: '',//零售价
- last_price: '',//上次进价
- drug_control: '',//开药控制
- number: '',//批准文号
- drug_classify: '',//药物分类
- drug_dose: '',//药品剂量
- drug_dose_unit: '',
- medical_insurance_number: '',//医保编号
- manufacturer: '', //生产产商
- pharmacology_category: '',//药理分类
- statistics_category: '',//统计分类
- code: '',//本位码
- is_special_diseases: '',//是否特病目录
- is_record: '',//是否备案
- agent: '',// 代理商
- drug_status: '',// 状态
- limit_remark: '',//限制说明
- delivery_way: '',//默认给药途径
- execution_frequency: '',//默认执行频率
- single_dose: '',//默认单次用量
- prescribing_number: '',//默认开药数量
- label: '',//标签
- sort: '',//收费项目排序
- is_use_doctor_advice: '',//是否常用医嘱
- is_default: '',//是否默认
- is_charge_predict: '',//是否收费预估项
- is_statistics_work: '',//是否统计工作量
- is_charge_use: '',//是否收费常用项
- drug_code: '',
- dealer: '',
- prescription_mark: '',//处方药标志
- social_security_directory_code: '',//社保目录编码
- record_date: '',//备案日期
- drug_remark: '',//药品备注
- drug_day:"",//默认开药天数
- min_number:"",//拆零数量
- min_price:"",//拆零零售价
- dose_unit:"",//剂量
- dose:"",//剂量单位
- prescribing_number_unit:"",
- total:"",
- },
-
- rules: {
- drug_name: [{ required: true, message: '请填写药品名称', trigger: 'blur' }],
- drug_alias: [{ required: true, message: '请选择药品类别', trigger: 'change' }],
- // drug_spec: [{ required: true, message: '请填写药品规格', trigger: 'blur' }],
- dose:[{required:true,message:'请输入剂量',trigger:'blur'}],
- dose_unit:[{required:true,message:"请填写剂量",trigger:'blur'}],
- max_unit: [{ required: true, message: '请填写包装单位', trigger: 'change' }],
- min_unit: [{ required: true, message: '请填写拆零单位', trigger: 'change' }],
- unval:[{required:true,message:"请填写拆零",trigger:'change'}],
- min_number:[{required:true,message:"请填写拆零",trigger:'change'}],
- packing_unit: [{ required: true, message: '请填写包装单位', trigger: 'change' }],
- drug_type: [{ required: true, message: '请填写药品类型', trigger: 'blur' }],
- drug_stock_limit: [{ required: true, message: '请填写库存警戒', trigger: 'blur' }],
- drug_origin_place: [{ required: true, message: '请填写产地', trigger: 'blur' }],
- drug_dosage_form: [{ required: true, message: '请填写药品剂型', trigger: 'blur' }],
- medical_insurance_level: [{ required: true, message: '请选择医保等级', trigger: 'change' }],
-
- unit_matrixing: [{ required: true, message: '请填写单位换算', trigger: 'blur' }],
- retail_price: [{ required: true, message: '请填写拆零零售价', trigger: 'blur' }],
- last_price: [{ required: true, message: '请填写进货价', trigger: 'blur' }],
- packing_price:[{required:true,message:'请填写包装零售价',trigger:'blur'}],
- drug_classify: [{ required: true, message: '请选择药物分类', trigger: 'change' }],
- drug_dose: [{ required: true, message: '请填写剂量', trigger: 'blur' }],
- manufacturer: [{ required: true, message: '请选择生产产商', trigger: 'change' }],
- dealer: [{ required: true, message: '请选择经销商', trigger: 'change' }],
- prescription_mark: [{ required: true, message: '请选择处方药标志' }],
- social_security_directory_code: [{ required: true, message: '请填写社保目录编码' }],
- record_date: [{ required: true, message: '请选择备案日期' }],
- drug_remark: [{ required: true, message: '请填写药品备注' }],
- lmt_used_flag:[{ required: true, message: '请选择是否限制用药' }],
- hosp_appr_flag:[{ required: true, message: '请选择审批标志' }],
-
- },
- page: 1,
- limit: 500,
- manufacturerList: [],
- dealer: [],
- drugTypeList:[],
- drugCategoryList:[],
- drugDosageFormList:[],
- medicalInsuranceLevelList:[],
- drugControlList:[],
- drugClassifyList:[],
- statisticsCategoryList:[],
- pharmacologyCategoryList:[],
- dosageShow:false,
- unitList:[],
- minNumberShow:false,
- packingUnit:[]
- }
- },
- props: {
- manufacturers: {
- type: Array
- },
- titles: {
- type: String,
- default: ''
- },
- formValue: {
- type: Object
- },
- isCreated: {
- type: Number,
- default: 1
- },
-
-
- },
- methods: {
- cancle: function(formName) {
- this.$emit('dialog-cancle', this.getValue())
- },
- comfirm: function(formName) {
- this.$refs[formName].validate((valid) => {
- console.log(valid)
- if (valid) {
- // console.log(1111,this.getValue())
- this.$emit('dialog-comfirm', this.getValue())
- }
- })
- },
- getDictionaryDataConfig(module, filed_name) {
- return getDictionaryDataConfig(module, filed_name)
-
- },
- getDataConfig(module, filed_name) {
- return getDataConfig(module, filed_name)
- },
- _close: function(done) {
- // this.clear()
- // done()
- this.$confirm('是否保存')
- .then(_ => {
- this.comfirm('form')
- // done();
- })
- .catch(_ => {
- done()
- });
- },
- clear: function() {
- this.form.id = 0
- this.form.name = ''
- this.form.intro = ''
- },
- show(id, obj) {
- this.unitList = []
- this.packingUnit = []
- var arr = getDataConfig('hemodialysis','units')
- for(let i=0;i<arr.length;i++){
- if(obj.min_unit == arr[i].name){
- this.unitList.push(arr[i])
- this.packingUnit.push(arr[i])
- }
- if(obj.dose_unit == arr[i].name){
- this.unitList.push(arr[i])
- }
- if(obj.max_unit == arr[i].name){
- this.packingUnit.push(arr[i])
- }
-
- let idArr = []
- this.unitList.map(item => {
- idArr.push(item.id)
- })
- if(idArr.indexOf(obj.drug_dose_unit) == -1){
- if(obj.drug_dose_unit == arr[i].id){
- this.unitList.push(arr[i])
- }
- }
- let packingIdArr = []
- this.packingUnit.map(item => {
- packingIdArr.push(item.id)
- })
- if(packingIdArr.indexOf(obj.prescribing_number_unit) == -1){
- if(obj.prescribing_number_unit == arr[i].id || obj.prescribing_number_unit == arr[i].name){
- this.packingUnit.push(arr[i])
- }
- }
- }
- let ojb = {};
- this.unitList = this.unitList.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- ojb[currentItem.name] ? '' : ojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
-
- let newojb = {};
- this.packingUnit = this.packingUnit.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- newojb[currentItem.name] ? '' : newojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
- console.log('this.unitList',this.unitList)
- this.getInitializtion()
- this.getlist()
- this.GetAllConfig()
- if(obj.drug_classify == 0){
- obj.drug_classify = ""
- }else{
- obj.drug_classify = parseInt(obj.drug_classify)
- }
-
- if(obj.dealer == 0){
- obj.dealer = ""
- }
-
- this.visible = true
- if (id == 0) {
- this.formTitle = '新增'
- this.form['id'] = 0
- for (let key in obj) {
- this.form[key] = obj[key]
- }
-
- this.form['lmt_used_flag'] = 0
-
- } else {
- for (let key in obj) {
- this.form[key] = obj[key]
- }
-
- this.form.drug_classify = parseInt(this.form.drug_classify)
- this.form['id'] = id
- this.drug_status = []
- if (this.form.drug_status.length > 0) {
- for (let i = 0; i < this.form.drug_status.split(",").length; i++) {
- this.drug_status.push(this.form.drug_status.split(',')[i])
- }
- console.log(this.drug_status)
- }
-
- this.formTitle = '编辑'
- let unitArr = []
- this.unitList.map(item => {
- unitArr.push(item.id)
- })
- if(unitArr.indexOf(this.form.drug_dose_unit) == -1){
- this.form.drug_dose_unit = ''
- }
- if(obj.dose_unit == obj.min_unit){
- this.dosageShow = true
- }else{
- this.dosageShow = false
- }
-
- if(obj.min_unit == obj.max_unit){
- this.minNumberShow = true
- }else{
- this.minNumberShow = false
- }
-
- }
- this.getAdviceConfig()
-
- }, getAdviceConfig() {
- getAdviceConfig().then(response => {
- if (response.data.state == 1) {
- this.deliveryWayOptions =
- response.data.data.drugways === null
- ? []
- : response.data.data.drugways
-
- this.executionFrequencyOptions =
- response.data.data.efs === null ? [] : response.data.data.efs
- }
- })
-
- }
- ,
- hide() {
- // this.clear()
- this.form.social_security_directory_code = ''
- this.form.prescription_mark = ''
- this.form.record_date = ''
- this.form.drug_remark = ''
- this.form.dose = ''
- this.form.dose_unit = ""
- this.form.min_number= ""
- this.form.min_unit = ""
- this.form.max_unit = ""
- this.form.min_price = ""
- this.form.prescribing_number_unit = ""
- this.dosageShow = false
- this.visible = false
- },
- getValue: function() {
- const form = {}
- form['id'] = this.form.id
- form['drug_name'] = this.form.drug_name
- form['pinyin'] = this.form.pinyin
- form['wubi'] = this.form.wubi
- form['drug_alias'] = this.form.drug_alias
- form['drug_alias_pinyin'] = this.form.drug_alias_pinyin
- form['drug_alias_wubi'] = this.form.drug_alias_wubi
- form['drug_category'] = this.form.drug_category
- form['drug_spec'] = this.form.drug_spec
- form['drug_type'] = this.form.drug_type
- form['drug_stock_limit'] = this.form.drug_stock_limit
- form['drug_origin_place'] = this.form.drug_origin_place
- form['drug_dosage_form'] = this.form.drug_dosage_form
- form['medical_insurance_level'] = this.form.medical_insurance_level
- form['max_unit'] = this.form.max_unit
- form['min_unit'] = this.form.min_unit
- form['unit_matrixing'] = this.form.unit_matrixing
- form['retail_price'] = this.form.retail_price
- form['last_price'] = this.form.last_price
- form['drug_control'] = this.form.drug_control
- form['number'] = this.form.number
- form['drug_dose'] = this.form.drug_dose
- form['drug_dose_unit'] = this.form.drug_dose_unit
- form['medical_insurance_number'] = this.form.medical_insurance_number
- form['manufacturer'] = this.form.manufacturer
- form['pharmacology_category'] = this.form.pharmacology_category
- form['statistics_category'] = this.form.statistics_category
- form['code'] = this.form.code
- form['is_special_diseases'] = this.form.is_special_diseases
- form['is_record'] = this.form.is_record
- form['agent'] = this.form.agent
- form['drug_status'] = this.drug_status.join(',')
- form['limit_remark'] = this.form.limit_remark
- form['delivery_way'] = this.form.delivery_way
- form['execution_frequency'] = this.form.execution_frequency
- form['single_dose'] = this.form.single_dose
- form['prescribing_number'] = this.form.prescribing_number
- form['label'] = this.form.label
- form['sort'] = this.form.sort
- form['is_use_doctor_advice'] = this.form.is_use_doctor_advice
- form['is_default'] = this.form.is_default
- form['is_charge_predict'] = this.form.is_charge_predict
- form['is_statistics_work'] = this.form.is_statistics_work
- form['is_charge_use'] = this.form.is_charge_use
- form['drug_code'] = this.form.drug_code
- form['drug_classify'] = this.form.drug_classify
- form['dealer'] = this.form.dealer
- form['prescription_mark'] = this.form.prescription_mark
- form['social_security_directory_code'] = this.form.social_security_directory_code
- form['record_date'] = this.form.record_date
- form['drug_remark'] = this.form.drug_remark
- form['hosp_appr_flag'] = this.form.hosp_appr_flag
- form['lmt_used_flag'] = this.form.lmt_used_flag
- form['total'] = this.form.total
- form['min_number'] = this.form.min_number
- form["drug_day"] = this.form.drug_day
- form['dose'] = this.form.dose,
- form['dose_unit'] = this.form.dose_unit
- form['min_price'] = this.form.min_price
- form['prescribing_number_unit'] = this.form.prescribing_number_unit
- return form
- },
- getlist() {
- var params = {
- page: this.page,
- limit: this.limit
- }
-
- getManufacturerList(params).then(response => {
- var manufacturerList = response.data.data.manufacturer
-
- this.manufacturerList = manufacturerList
- })
- },
- GetAllConfig() {
- GetAllConfig().then(response => {
- if (response.data.state == 0) {
- this.$message.error(response.data.msg)
- return false
- } else {
- this.dealer = response.data.data.dealer
- // console.log('经销商', this.dealer)
- }
- })
- },
- getInitializtion(){
- getInitializtion().then(response=>{
- if(response.data.state ==1){
- var drugCategoryList = response.data.data.drugCategoryList
-
- this.drugCategoryList = drugCategoryList
- var drugTypeList = response.data.data.drugTypeList
-
- this.drugTypeList = drugTypeList
- var drugDosageFormList = response.data.data.drugDosageFormList
-
- this.drugDosageFormList = drugDosageFormList
- var medicalInsuranceLevelList = response.data.data.medicalInsuranceLevelList
-
- this.medicalInsuranceLevelList = medicalInsuranceLevelList
- var drugControlList = response.data.data.drugControlList
-
- this.drugControlList = drugControlList
- var drugClassifyList = response.data.data.drugClassifyList
-
- this.drugClassifyList = drugClassifyList
- var statisticsCategoryList = response.data.data.statisticsCategoryList
-
- this.statisticsCategoryList = statisticsCategoryList
- var pharmacologyCategoryList = response.data.data.pharmacologyCategoryList
-
- this.pharmacologyCategoryList = pharmacologyCategoryList
- }
- })
- },
- changeDoseUnit(val){
- if(val == this.form.min_unit){
- // this.form.dose = 1
- this.form.min_number = 1
- this.dosageShow = true
- }
- if(val !=this.form.min_unit){
- this.dosageShow = false
- }
- var arr = getDataConfig('hemodialysis','units')
- this.unitList = []
- for(let i=0;i<arr.length;i++){
-
- if(this.form.min_unit == arr[i].name){
- this.unitList.push(arr[i])
- }
- if(val == arr[i].name){
- this.unitList.push(arr[i])
- }
- let idArr = []
- this.unitList.map(item => {
- idArr.push(item.id)
- })
- if(idArr.indexOf(this.form.drug_dose_unit) == -1){
- if(this.form.drug_dose_unit == arr[i].id){
- this.unitList.push(arr[i])
- }
- }
-
- }
- let ojb = {};
- this.unitList = this.unitList.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- ojb[currentItem.name] ? '' : ojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
-
- },
- changeMinUnit(val){
- if(val == this.form.dose_unit){
- // this.form.dose = 1
- this.form.min_number = 1
- this.dosageShow = true
- }
- // if(val != this.form.max_unit){
- // this.dosageShow = false
- // }
- if(val == this.form.max_unit){
- this.form.min_number = 1
- this.minNumberShow = true
- }else{
- this.minNumberShow = false
- }
-
- // if(this.form.dosage == "" || this.form.max_unit == ""){
- // this.form.min_number = 1
- // }
- var arr = getDataConfig('hemodialysis','units')
- this.unitList = []
- this.packingUnit = []
- for(let i=0;i<arr.length;i++){
- if(val == arr[i].name){
- this.unitList.push(arr[i])
- this.packingUnit.push(arr[i])
- }
- if(this.form.max_unit == arr[i].name){
- this.unitList.push(arr[i])
- this.packingUnit.push(arr[i])
- }
- if(this.form.drug_dose_unit == arr[i].id){
- this.unitList.push(arr[i])
- }
- if(this.form.prescribing_number_unit == arr[i].id){
- this.packingUnit.push(arr[i])
- }
-
-
-
-
- let idArr = []
- this.unitList.map(item => {
- idArr.push(item.id)
- })
- if(idArr.indexOf(this.form.drug_dose_unit) == -1){
- if(this.form.drug_dose_unit == arr[i].id){
- this.unitList.push(arr[i])
- }
- }
- let packingIdArr = []
- this.packingUnit.map(item => {
- packingIdArr.push(item.id)
- })
- if(packingIdArr.indexOf(this.form.prescribing_number_unit) == -1){
- if(this.form.prescribing_number_unit == arr[i].id){
- this.packingUnit.push(arr[i])
- }
- }
- }
- let ojb = {};
- this.unitList = this.unitList.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- ojb[currentItem.name] ? '' : ojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
-
- let newojb = {};
- this.packingUnit = this.packingUnit.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- newojb[currentItem.name] ? '' : newojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
-
- },
- changeMaxUnit(val){
- if(val == this.form.min_unit){
- this.form.min_number = 1
- this.minNumberShow = true
- }else{
- this.minNumberShow = false
- }
- var arr = getDataConfig('hemodialysis','units')
- this.packingUnit = []
- for(let i=0;i<arr.length;i++){
- if(val == arr[i].name){
- this.packingUnit.push(arr[i])
- }
- if(this.form.min_unit == arr[i].name){
- this.packingUnit.push(arr[i])
- }
- let packingIdArr = []
- this.packingUnit.map(item => {
- packingIdArr.push(item.id)
- })
- if(packingIdArr.indexOf(this.form.prescribing_number_unit) == -1){
- if(this.form.prescribing_number_unit == arr[i].id){
- this.packingUnit.push(arr[i])
- }
- }
- }
-
-
- let newojb = {};
- this.packingUnit = this.packingUnit.reduce(function(prevArr, currentItem) {
- //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值
- newojb[currentItem.name] ? '' : newojb[currentItem.name] = true && prevArr.push(currentItem);
- return prevArr
- }, [])
- }
- }, watch: {
- visible(val) {
- // this.form = this.formValue
-
- }
- },
- created() {
- this.getInitializtion()
- //获取所有经销商
- this.GetAllConfig()
- this.getlist()
-
-
-
- }
- }
- </script>
-
- <style lang="scss">
- .addDrugsDialog {
-
- .el-dialog__body {
- padding-top: 0px;
- }
- .noMargin{
- .el-form-item__content{
- margin-left: 0 !important;
- }
- }
-
- }
- </style>
|