1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162 |
- <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>
-
- <div v-if="org_id == 9671 || org_id == 7957 || org_id == 4">
- <el-form-item label="药品规格 : ">
- <el-input v-model="form.drug_spec" style="width:160px;" placeholder=""
- maxlength="30"></el-input>
- </el-form-item>
- </div>
- <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="剂量" ></el-input>
- </el-form-item>
- <el-form-item prop="dose_unit" class="noMargin">
- <el-select v-model="form.dose_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>
- <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;" 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="拆零单位">
- <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="包装单位">
- <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-select v-model="form.drug_dose_unit" style="width:80px;" filterable placeholder="单次用量单位">
- <el-option
- v-for="(item,index) in getDataConfig('hemodialysis','units')"
- :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-select v-model="form.prescribing_number_unit" style="width:80px;" filterable 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-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="库存警戒:">
- <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="provinces_code">
- <el-input v-model="form.provinces_code" 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-select v-model="form.is_user" style="width:160px" filterable placeholder="请选择">
- <el-option
- v-for="(item,index) in userList"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </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: '',//医保编号
- provinces_code:"",//省编码
- 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:"",
- specification_name:"",
- is_user:"2",
- },
-
- 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:[],
- userList: [{
- id: "1",
- name: "是"
- }, {
- id: "2",
- name: "否"
- }],
- }
- },
- 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) {
- 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
- this.form['is_user'] = "2"
-
- } 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['provinces_code'] = this.form.provinces_code
-
-
-
- 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
- form['specification_name'] = this.form.specification_name
- form['is_user'] = this.form.is_user
- 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
- // }else{
- // this.dosageShow = false
- // }
- // // 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.org_id = this.$store.getters.xt_user.org.id
- console.log("机构ID",this.org_id)
- 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>
|