|
@@ -4,42 +4,1087 @@
|
|
|
<el-button type="primary" icon="Check" @click="submitForm(ruleFormRef)" style="margin-left: 10px">保存</el-button>
|
|
|
<el-button type="primary" icon="Refresh" @click="resetForm(ruleFormRef)"
|
|
|
style="margin-left: 10px">重置</el-button>
|
|
|
+ <el-text v-if="props.ypDetail.modeFlag === 'edit'" class="mx-1" type="danger"
|
|
|
+ style="margin-left: 10px; font-size: 1.6em">该药品已有业务数据,某些属性不能修改!!</el-text>
|
|
|
</template>
|
|
|
<template #mainMaxContentHeight>
|
|
|
- <el-form ref="ruleFormRef" label-width="127px" :model="ypForm" class="demo-ruleForm" :size="formSize">
|
|
|
- </el-form>
|
|
|
+ <div class="demo-collapse">
|
|
|
+ <el-form ref="ruleFormRef" :rules="rulesInfo" label-width="127px" :model="ypForm" class="demo-ruleForm"
|
|
|
+ :size="formSize">
|
|
|
+ <el-collapse v-model="activeName">
|
|
|
+ <el-collapse-item title="第一部分" name="1" disabled>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="编码" prop="code">
|
|
|
+ <el-input v-model="ypForm.code" maxlength="6" show-word-limit placeholder="编码"
|
|
|
+ disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="序号" prop="serial">
|
|
|
+ <el-input v-model="ypForm.serial" maxlength="2" show-word-limit placeholder="序号"
|
|
|
+ disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药品限价" prop="ybxjPrice">
|
|
|
+ <el-input v-model="ypForm.ybxjPrice" maxlength="10" show-word-limit
|
|
|
+ placeholder="药品限价" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="拆零价" prop="retprice">
|
|
|
+ <el-input v-model="ypForm.retprice" maxlength="10" show-word-limit placeholder="拆零价"
|
|
|
+ disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="品名" prop="name">
|
|
|
+ <el-input v-model="ypForm.name" maxlength="30" show-word-limit
|
|
|
+ placeholder="请填写品名" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="货位号" prop="location">
|
|
|
+ <el-input v-model="ypForm.location" maxlength="12" show-word-limit
|
|
|
+ placeholder="请填写货位号" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="购入价" prop="buyPrice">
|
|
|
+ <el-input v-if="isEdit" v-model="ypForm.buyPrice" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写购入价" @change="ybxjPriceFormat" />
|
|
|
+ <el-input v-else v-model="ypForm.buyPrice" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写购入价" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="零售价" prop="packRetprice">
|
|
|
+ <el-input v-if="isEdit" v-model="ypForm.packRetprice" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写零售价" @change="retpriceFormat" />
|
|
|
+ <el-input v-else v-model="ypForm.packRetprice" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写零售价" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="化学成分" prop="chemRemark">
|
|
|
+ <el-input v-model="ypForm.chemRemark" maxlength="16" show-word-limit
|
|
|
+ placeholder="请填写化学成分" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="拼音码" prop="pyCode">
|
|
|
+ <el-input v-model="ypForm.pyCode" maxlength="8" show-word-limit placeholder="拼音码"
|
|
|
+ disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="五笔码" prop="dcode">
|
|
|
+ <el-input v-model="ypForm.dcode" maxlength="8" show-word-limit placeholder="五笔码"
|
|
|
+ disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药品类别" prop="drugKind">
|
|
|
+ <el-select v-model="ypForm.drugKind" placeholder="请选择药品类别" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpKindCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="可用" prop="delFlag">
|
|
|
+ <el-switch v-model="ypForm.delFlag" active-value="0" inactive-value="1"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="药库可用" prop="visibleFlag">
|
|
|
+ <el-switch v-model="ypForm.visibleFlag" active-value="0" inactive-value="1"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="父医嘱标志" prop="fatherFlag">
|
|
|
+ <el-switch v-model="ypForm.fatherFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="摆药机标志" prop="byjFlag">
|
|
|
+ <el-switch v-model="ypForm.byjFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="国家基本药物" prop="jbFlag">
|
|
|
+ <el-switch v-model="ypForm.jbFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="医保自费" prop="selfFlagYb">
|
|
|
+ <el-switch v-model="ypForm.selfFlagYb" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-collapse-item>
|
|
|
+ <el-collapse-item title="第二部分" name="2" disabled>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="规格" prop="specification">
|
|
|
+ <el-input v-model="ypForm.specification" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写规格" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="最小规格" prop="specification2">
|
|
|
+ <el-input v-model="ypForm.specification2" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写最小规格" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="剂型" prop="dosage">
|
|
|
+ <el-select v-model="ypForm.dosage" placeholder="请选择剂型" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpDosageCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药性" prop="classCode">
|
|
|
+ <el-select v-model="ypForm.classCode" placeholder="请选择药性" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpClassCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="重量" prop="weight">
|
|
|
+ <el-input v-model="ypForm.weight" maxlength="40" show-word-limit placeholder="请填写重量"
|
|
|
+ @change="specificationFormat" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="重量单位" prop="weighUnit">
|
|
|
+ <el-select v-model="ypForm.weighUnit" placeholder="请选择重量单位" filterable clearable
|
|
|
+ style="width: 100%" @change="specificationFormat">
|
|
|
+ <el-option v-for="item in ypDictList.getYpUnitCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="体积" prop="volum">
|
|
|
+ <el-input v-model="ypForm.volum" maxlength="40" show-word-limit placeholder="请填写体积"
|
|
|
+ @change="specificationFormat" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="体积单位" prop="volUnit">
|
|
|
+ <el-select v-model="ypForm.volUnit" placeholder="请选择体积单位" filterable clearable
|
|
|
+ style="width: 100%" @change="specificationFormat">
|
|
|
+ <el-option v-for="item in ypDictList.getYpUnitCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="最小包装单位" prop="miniUnit">
|
|
|
+ <el-select v-model="ypForm.miniUnit" placeholder="请选择最小包装单位" filterable clearable
|
|
|
+ style="width: 100%" @change="specificationFormat">
|
|
|
+ <el-option v-for="item in ypDictList.getYpUnitCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="包装量" prop="packSize">
|
|
|
+ <el-input v-model="ypForm.packSize" maxlength="20" show-word-limit
|
|
|
+ placeholder="请填写包装量" @change="specificationFormat" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="整包装单位" prop="packUnit">
|
|
|
+ <el-select v-model="ypForm.packUnit" placeholder="请选择整包装单位" filterable clearable
|
|
|
+ style="width: 100%" @change="specificationFormat">
|
|
|
+ <el-option v-for="item in ypDictList.getYpUnitCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="浓度" prop="concentration">
|
|
|
+ <el-input v-model="ypForm.concentration" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写浓度" @change="specificationFormat" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="抗肿瘤药物级别" prop="antitumorLevel">
|
|
|
+ <el-select v-model="ypForm.antitumorLevel" placeholder="请选择抗肿瘤药物级别" filterable
|
|
|
+ clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in getYpAntitumorLevel" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="大类管理" prop="categoriesFlag">
|
|
|
+ <el-select v-model="ypForm.categoriesFlag" placeholder="请选择药品大类" filterable
|
|
|
+ clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpCategoriesCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药品级别" prop="ypLevel">
|
|
|
+ <el-select v-model="ypForm.ypLevel" placeholder="请选择药品级别" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in getYpLevel" :key="item.code" :label="item.name"
|
|
|
+ :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="采购编码" prop="purchaseCode">
|
|
|
+ <el-input v-model="ypForm.purchaseCode" maxlength="20" show-word-limit
|
|
|
+ placeholder="请填写采购编码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="大输液" prop="infusionFlag">
|
|
|
+ <el-switch v-model="ypForm.infusionFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="贵重" prop="supriceFlag">
|
|
|
+ <el-switch v-model="ypForm.supriceFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="自费" prop="selfFlag">
|
|
|
+ <el-switch v-model="ypForm.selfFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="抗生素" prop="kssFlag">
|
|
|
+ <el-switch v-model="ypForm.kssFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="皮试" prop="psFlag">
|
|
|
+ <el-switch v-model="ypForm.psFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="辅助用药" prop="fzFlag">
|
|
|
+ <el-switch v-model="ypForm.fzFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="自动拆零" prop="clFlag">
|
|
|
+ <el-switch v-model="ypForm.clFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="大输液基数" prop="jsFlag">
|
|
|
+ <el-switch v-model="ypForm.jsFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="抢救药品" prop="qjFlag">
|
|
|
+ <el-switch v-model="ypForm.qjFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="溶媒标志" prop="ymFlag">
|
|
|
+ <el-switch v-model="ypForm.ymFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="搭配溶媒" prop="dpymFlag">
|
|
|
+ <el-switch v-model="ypForm.dpymFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="统一采购" prop="isCentralPurchase">
|
|
|
+ <el-switch v-model="ypForm.isCentralPurchase" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="毒麻类别" prop="drugFlag">
|
|
|
+ <el-select v-model="ypForm.drugFlag" placeholder="请选择毒麻类别" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in getYpDrugFlag" :key="item.code" :label="item.name"
|
|
|
+ :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="储存方式" prop="coldFlag">
|
|
|
+ <el-select v-model="ypForm.coldFlag" placeholder="请选择储存方式" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in getYpColdFlag" :key="item.code" :label="item.name"
|
|
|
+ :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="医保码(区)" prop="ybCode2">
|
|
|
+ <el-input v-model="ypForm.ybCode2" maxlength="20" show-word-limit
|
|
|
+ placeholder="请填写医保码(区)" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="医保说明(区)" prop="ybComment2">
|
|
|
+ <el-input v-model="ypForm.ybComment2" maxlength="50" show-word-limit
|
|
|
+ placeholder="请填写医保说明(区)" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="门诊费别" prop="percentGroupMz">
|
|
|
+ <el-select v-model="ypForm.percentGroupMz" placeholder="请选择门诊费别" filterable
|
|
|
+ clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpChargeGroupCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="住院费别" prop="percentGroupZy">
|
|
|
+ <el-select v-model="ypForm.percentGroupZy" placeholder="请选择住院费别" filterable
|
|
|
+ clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpChargeGroupCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="门诊账单" prop="billItemMz">
|
|
|
+ <el-select v-model="ypForm.billItemMz" placeholder="请选择门诊账单" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getMzBillItemCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="住院账单" prop="billItemZy">
|
|
|
+ <el-select v-model="ypForm.billItemZy" placeholder="请选择住院账单" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getZyBillItemCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="核算码" prop="auditCode">
|
|
|
+ <el-select v-model="ypForm.auditCode" placeholder="请选择核算码" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getZyAuditItemCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="扩展码" prop="exCode">
|
|
|
+ <el-input v-model="ypForm.exCode" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写扩展码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="院内码" prop="ncode">
|
|
|
+ <el-input v-model="ypForm.ncode" maxlength="8" show-word-limit
|
|
|
+ placeholder="请填写院内码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药品来源" prop="countryFlag">
|
|
|
+ <el-select v-model="ypForm.countryFlag" placeholder="请选择药品来源" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpFromCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="抗菌药物" prop="kjywFlag">
|
|
|
+ <el-select v-model="ypForm.kjywFlag" placeholder="请选择抗菌药物" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpKjywCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="DDD值" prop="dddValue">
|
|
|
+ <el-input v-model="ypForm.dddValue" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写DDD值" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="DDD值消耗单位" prop="dddUnit">
|
|
|
+ <el-input v-model="ypForm.dddUnit" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写DDD值消耗单位" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="批准文号" prop="pzwh">
|
|
|
+ <el-input v-model="ypForm.pzwh" maxlength="20" show-word-limit
|
|
|
+ placeholder="请填写批准文号" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="招标标志" prop="zbFlag">
|
|
|
+ <el-switch v-model="ypForm.zbFlag" active-value="1" inactive-value="0"
|
|
|
+ active-color="#13ce66" inactive-color="#ff4949" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="中标供应商" prop="zbSupplyer">
|
|
|
+ <el-select v-model="ypForm.zbSupplyer" placeholder="请选择中标供应商" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpSupplyCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="制药厂" prop="manuCode">
|
|
|
+ <el-select v-model="ypForm.manuCode" placeholder="请选择制药厂" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpManuFactoryCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="备注" prop="comment">
|
|
|
+ <el-input v-model="ypForm.comment" maxlength="120" show-word-limit
|
|
|
+ placeholder="请填写备注" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="系统匹配名" prop="xtppName">
|
|
|
+ <el-input v-model="ypForm.xtppName" maxlength="30" show-word-limit
|
|
|
+ placeholder="请填写系统匹配名" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="商品名称" prop="spName">
|
|
|
+ <el-input v-model="ypForm.spName" maxlength="30" show-word-limit
|
|
|
+ placeholder="请填写商品名称" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-collapse-item>
|
|
|
+ <el-collapse-item title="第三部分" name="3" disabled>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="默认给药方式" prop="supplyType">
|
|
|
+ <el-select v-model="ypForm.supplyType" placeholder="请选择默认给药方式" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getMzSupplyCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="默认执行频率" prop="frequency">
|
|
|
+ <el-select v-model="ypForm.frequency" placeholder="请选择默认执行频率" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getMzFrequencyCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="常用剂量" prop="orderDosage">
|
|
|
+ <el-input v-model="ypForm.orderDosage" maxlength="40" show-word-limit
|
|
|
+ placeholder="请填写常用剂量" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="常用计量单位" prop="dosageUnit">
|
|
|
+ <el-select v-model="ypForm.dosageUnit" placeholder="请选择常用计量单位" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpUnitCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="复核者" prop="fhName">
|
|
|
+ <el-select v-model="ypForm.fhName" placeholder="请选择复核者" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getEmployeeCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="医保类别" prop="ybFlagNew">
|
|
|
+ <el-select v-model="ypForm.ybFlagNew" placeholder="请选择医保类别" filterable clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="item in ypDictList.getYpYbTypeCode" :key="item.code"
|
|
|
+ :label="item.name" :value="item.code">
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span
|
|
|
+ style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">{{
|
|
|
+ item.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="报销比例(%)" prop="ybBlNew">
|
|
|
+ <el-input v-model="ypForm.ybBlNew" maxlength="10" show-word-limit
|
|
|
+ placeholder="请填写报销比例" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="外观情况" prop="wgType">
|
|
|
+ <el-input v-model="ypForm.wgType" maxlength="100" show-word-limit
|
|
|
+ placeholder="请填写外观情况" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="医保说明" prop="ybCommentNew">
|
|
|
+ <el-input v-model="ypForm.ybCommentNew" maxlength="100" show-word-limit
|
|
|
+ placeholder="请填写医保说明" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="卫计委药品编码" prop="wjwYpid">
|
|
|
+ <el-input v-model="ypForm.wjwYpid" maxlength="12" show-word-limit
|
|
|
+ placeholder="请填写卫计委药品编码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药监局药品本位码" prop="yjjYpid">
|
|
|
+ <el-input v-model="ypForm.yjjYpid" maxlength="14" show-word-limit
|
|
|
+ placeholder="请填写药监局药品本位码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="社会保险药品编码" prop="rsbYpid">
|
|
|
+ <el-input v-model="ypForm.rsbYpid" maxlength="17" show-word-limit
|
|
|
+ placeholder="请填写社会保险药品编码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="药管平台码" prop="drugControlCode">
|
|
|
+ <el-input v-model="ypForm.drugControlCode" maxlength="30" show-word-limit
|
|
|
+ placeholder="请填写药管平台码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="国家医保编码" prop="nationalCode">
|
|
|
+ <el-input v-if="!isEdit" v-model="ypForm.nationalCode" placeholder="请填写国家医保编码"
|
|
|
+ disabled />
|
|
|
+ <el-input v-else v-model="ypForm.nationalCode" placeholder="请填写国家医保编码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-collapse-item>
|
|
|
+ </el-collapse>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</PageLayer>
|
|
|
</template>
|
|
|
<script setup name="YpZdDict">
|
|
|
import { ref, onMounted, nextTick } from 'vue'
|
|
|
import PageLayer from '@/layout/PageLayer.vue'
|
|
|
+import { clone } from '@/utils/clone'
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+import { selectYpDictData, saveYpDict } from '@/api/yp-dict/yp-dict-info.js'
|
|
|
|
|
|
+const activeName = ref(['1', '2', '3', '4', '5', '6', '7'])
|
|
|
const formSize = ref('default')
|
|
|
+const isEdit = ref(false)
|
|
|
const ruleFormRef = ref()
|
|
|
+const ypDictList = ref([])
|
|
|
const props = defineProps({
|
|
|
- deptDetail: {
|
|
|
+ ypDetail: {
|
|
|
type: Object,
|
|
|
default: {}
|
|
|
}
|
|
|
})
|
|
|
-const emit = defineEmits(['closeDeptEditFor'])
|
|
|
-let deptForm = ref({
|
|
|
- code: '', // 科室编码
|
|
|
- name: '', // 科室名称
|
|
|
- classCode: '', // 分类
|
|
|
- parentCode: '', // 父科室(code)
|
|
|
+
|
|
|
+const getYpAntitumorLevel = ref([{ code: '1', name: '普通使用级' }, { code: '2', name: '限制使用级' }])
|
|
|
+const getYpLevel = ref([{ code: '1', name: '非限制级' }, { code: '2', name: '限制级' }, { code: '3', name: '特殊级' }])
|
|
|
+const getYpDrugFlag = ref([{ code: '1', name: '毒性药品' }, { code: '2', name: '麻醉药品' }, { code: '3', name: '精神1类' }, { code: '4', name: '精神2类' }, { code: '5', name: '高危药品' }, { code: '6', name: '终止妊娠药' }])
|
|
|
+const getYpColdFlag = ref([{ code: '0', name: '常温' }, { code: '1', name: '冷冻' }, { code: '2', name: '冷藏' }, { code: '3', name: '阴凉' }, { code: '4', name: '凉暗' }])
|
|
|
+// const getYpKjywFlag = ref([{ code: '1', name: '口服及注射' }, { code: '2', name: '外用抗菌药' }, { code: '3', name: '口服抗真菌' }, { code: '4', name: '外用抗真菌' }])
|
|
|
+// const getYpCountryFlag = ref([{ code: '1', name: '国产' }, { code: '2', name: '进口' }, { code: '3', name: '合资' }, { code: '4', name: '带量采购' }])
|
|
|
+
|
|
|
+const emit = defineEmits(['closeYpEditFor'])
|
|
|
+let ypForm = ref({
|
|
|
+ modeFlag: '', // 模式:edit 编辑; add 新增
|
|
|
+ code: '', // 药品编码
|
|
|
+ name: '', // 药品名称
|
|
|
+ serial: '', // 序号
|
|
|
+ classCode: '', // 药性
|
|
|
+ dosage: '', // 剂型
|
|
|
+ concentration: '', // 浓度
|
|
|
+ weight: '', // 重量
|
|
|
+ weighUnit: '', // 重量单位
|
|
|
+ volum: '', // 体积
|
|
|
+ volUnit: '', // 体积单位
|
|
|
+ miniUnit: '', // 最小单位
|
|
|
+ packSize: '', // 包装量
|
|
|
+ packUnit: '', // 包装单位
|
|
|
+ specification: '', // 规格
|
|
|
+ specification2: '', // 最小(拆零)规格
|
|
|
+ // specPack: '', // 大包装规格
|
|
|
+ packRetprice: '', // 零售价
|
|
|
+ retprice: '', // 拆零价
|
|
|
+ buyPrice: '', // 购入价
|
|
|
+ ybxjPrice: '', // 限价
|
|
|
+ // fixPrice: '', // 批发价
|
|
|
+ percentGroupMz: '', // 门诊费别
|
|
|
+ percentGroupZy: '', // 住院费别
|
|
|
+ selfFlag: '', // 自费标志 1:自费 0:公费
|
|
|
+ supriceFlag: '', // 贵重标志 1:贵重 0:普通
|
|
|
+ drugFlag: '', // 毒麻标志:1:毒;2:麻;3:精神1;4:精神2
|
|
|
+ pyCode: '', // 拼音码
|
|
|
+ dcode: '', // 自定义码
|
|
|
+ infusionFlag: '', // 大输液标志:1:输液
|
|
|
+ visibleFlag: '', // 1:不显示(实际是药库不可用, 1:不可用)
|
|
|
+ delFlag: '', // 1:作废(可用标志)
|
|
|
+ countryFlag: '', // 药品来源:1_非国产
|
|
|
+ manuCode: '', // 制药厂
|
|
|
+ coldFlag: '', // 冷冻/冷藏标志:1:冷冻;2:冷藏等
|
|
|
+ chemRemark: '', // 化学成分
|
|
|
+ drugKind: '', // 药品类别:yp_zd_drug_kind
|
|
|
+ zbFlag: '', // 招标标志:1:招标
|
|
|
+ zbSupplyer: '', // 中标供应商
|
|
|
ncode: '', // 院内码
|
|
|
- delFlag: '', // 停用
|
|
|
- xnhDeptCode: '', // 新农合科室编码
|
|
|
- xnhDeptName: '', // 新农合科室名称
|
|
|
- mzFlag: '', // 门诊开放
|
|
|
- yjFlag: '', // 医技上线
|
|
|
- ghChargeFlag: '', // 收取挂号费
|
|
|
- ghjzFlag: '', // 门诊挂号就诊
|
|
|
- supplyFlag: '', // 用药方式执行科室
|
|
|
- officePos: '', // 就诊地点
|
|
|
+ billItemMz: '', // 门诊账单
|
|
|
+ billItemZy: '', // 住院账单
|
|
|
+ supplyType: '', // 默认给药方式
|
|
|
+ frequency: '', // 默认频率
|
|
|
+ psFlag: '', // 1:需要皮试
|
|
|
+ exCode: '', // 扩展码
|
|
|
+ kssFlag: '', // 抗生素标志:1 抗生素
|
|
|
+ ypLevel: '', // 药品级别
|
|
|
+ selfFlagYb: '', // 医保自费
|
|
|
+ orderDosage: '', // 常用剂量
|
|
|
+ dosageUnit: '', // 常用计量单位
|
|
|
+ jbFlag: '', // 国家基本药物
|
|
|
+ location: '', // 货位号
|
|
|
+ auditCode: '', // 核算码
|
|
|
+ fatherFlag: '', // 父医嘱标志
|
|
|
+ ybCode2: '', // 医保码(区)
|
|
|
+ ybComment2: '', // 医保说明(区)
|
|
|
+ byjFlag: '', // 摆药机标志
|
|
|
+ antitumorLevel: '', // 抗肿瘤药物级别
|
|
|
+ categoriesFlag: '', // 大类管理
|
|
|
+ purchaseCode: '', // 采购编码
|
|
|
+ fzFlag: '', // 辅助用药:1 是
|
|
|
+ clFlag: '', // 自动拆零?: 1 是
|
|
|
+ jsFlag: '', // 大输液基数: 1 是
|
|
|
+ qjFlag: '', // 抢救药品:1 是
|
|
|
+ ymFlag: '', // 溶媒标志:1 是
|
|
|
+ dpymFlag: '', // 搭配溶媒:1 是
|
|
|
+ isCentralPurchase: '', // 统一采购:1 是
|
|
|
+ kjywFlag: '', // 抗菌药物(类型)
|
|
|
+ dddValue: '', // DDD值
|
|
|
+ dddUnit: '', // DDD值消耗单位
|
|
|
+ pzwh: '', // 批准文号
|
|
|
+ comment: '', // 备注
|
|
|
+ xtppName: '', // 系统匹配名
|
|
|
+ spName: '', // 商品名称
|
|
|
+ fhName: '', // 复核者
|
|
|
+ ybFlagNew: '', // 医保类别(新)
|
|
|
+ ybBlNew: '', // 报销比例
|
|
|
+ wgType: '', // 外观情况
|
|
|
+ ybCommentNew: '', // 医保说明
|
|
|
+ wjwYpid: '', // 卫计委药品编码
|
|
|
+ yjjYpid: '', // 药监局药品本位码
|
|
|
+ rsbYpid: '', // 社会保险药品编码
|
|
|
+ drugControlCode: '', // 药管平台码
|
|
|
+ nationalCode: '', // 国家医保编码
|
|
|
+})
|
|
|
+
|
|
|
+// watch(() => props.ypDetail, () => {
|
|
|
+// ypForm.value = clone(props.ypDetail)
|
|
|
+// })
|
|
|
+
|
|
|
+const rulesInfo = reactive({
|
|
|
+ name: [
|
|
|
+ { required: true, message: '请填写品名', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ buyPrice: [
|
|
|
+ { required: true, message: '请填写购入价', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ packRetprice: [
|
|
|
+ { required: true, message: '请填写零售价', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ drugKind: [
|
|
|
+ { required: true, message: '请选择药品类别', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ dosage: [
|
|
|
+ { required: true, message: '请选择剂型', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ classCode: [
|
|
|
+ { required: true, message: '请选择药性', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ miniUnit: [
|
|
|
+ { required: true, message: '请选择最小包装单位', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ packSize: [
|
|
|
+ { required: true, message: '请填写包装量', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ packUnit: [
|
|
|
+ { required: true, message: '请选择整包装单位', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ coldFlag: [
|
|
|
+ { required: true, message: '请选择储存方式', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ percentGroupMz: [
|
|
|
+ { required: true, message: '请选择门诊费别', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ percentGroupZy: [
|
|
|
+ { required: true, message: '请选择住院费别', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ billItemMz: [
|
|
|
+ { required: true, message: '请选择门诊账单', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ billItemZy: [
|
|
|
+ { required: true, message: '请选择住院账单', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ auditCode: [
|
|
|
+ { required: true, message: '请选择核算码', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ countryFlag: [
|
|
|
+ { required: true, message: '请选择药品来源', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ manuCode: [
|
|
|
+ { required: true, message: '请选择制药厂', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ pzwh: [
|
|
|
+ { required: true, message: '请填写批准文号', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ fhName: [
|
|
|
+ { required: true, message: '请选择复核者', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ ybFlagNew: [
|
|
|
+ { required: true, message: '请选择医保类别', trigger: 'change' },
|
|
|
+ ],
|
|
|
})
|
|
|
|
|
|
+onMounted(async () => {
|
|
|
+ // 查询药品字典集合
|
|
|
+ selectYpDictDataList()
|
|
|
+
|
|
|
+ await nextTick(() => {
|
|
|
+ // 编辑
|
|
|
+ if (props.ypDetail.modeFlag === 'edit') {
|
|
|
+ ypForm.value = clone(props.ypDetail)
|
|
|
+ ypForm.value.delFlag = (ypForm.value.delFlag === null ? '0' : ypForm.value.delFlag)
|
|
|
+ ypForm.value.visibleFlag = (ypForm.value.visibleFlag === null ? '0' : ypForm.value.visibleFlag)
|
|
|
+ ypForm.value.jbFlag = (ypForm.value.jbFlag !== null ? ypForm.value.jbFlag.trim() : ypForm.value.jbFlag)
|
|
|
+ ypForm.value.kjywFlag = (ypForm.value.kjywFlag !== null ? ypForm.value.kjywFlag.trim() : ypForm.value.kjywFlag)
|
|
|
+ ypForm.value.auditCode = (ypForm.value.auditCode !== null ? ypForm.value.auditCode.trim() : ypForm.value.auditCode)
|
|
|
+ ypForm.value.ybBlNew = (ypForm.value.ybBlNew !== null ? ypForm.value.ybBlNew.trim() : ypForm.value.ybBlNew)
|
|
|
+ isEdit.value = false
|
|
|
+ } else {
|
|
|
+ ypForm.value.delFlag = '0'
|
|
|
+ ypForm.value.visibleFlag = '0'
|
|
|
+ isEdit.value = true
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+const selectYpDictDataList = () => {
|
|
|
+ selectYpDictData()
|
|
|
+ .then((res) => {
|
|
|
+ ypDictList.value = res
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ ypDictList.value = []
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// 药品规格格式化
|
|
|
+const specificationFormat = () => {
|
|
|
+ let specificationV = ''
|
|
|
+ let specification2V = ''
|
|
|
+ let wUnit = ypDictList.value.getYpUnitCode.find((item) => {
|
|
|
+ if (ypForm.value.weighUnit === item.code) {
|
|
|
+ return item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let vUnit = ypDictList.value.getYpUnitCode.find((item) => {
|
|
|
+ if (ypForm.value.volUnit === item.code) {
|
|
|
+ return item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let mUnit = ypDictList.value.getYpUnitCode.find((item) => {
|
|
|
+ if (ypForm.value.miniUnit === item.code) {
|
|
|
+ return item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let pUnit = ypDictList.value.getYpUnitCode.find((item) => {
|
|
|
+ if (ypForm.value.packUnit === item.code) {
|
|
|
+ return item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (ypForm.value.concentration) {
|
|
|
+ specificationV += ypForm.value.concentration + ' '
|
|
|
+ specification2V = specificationV
|
|
|
+ }
|
|
|
+ if (ypForm.value.weight) {
|
|
|
+ specificationV += ypForm.value.weight + (wUnit == undefined ? '' : wUnit.label) + ' '
|
|
|
+ specification2V = specificationV
|
|
|
+ }
|
|
|
+ if (ypForm.value.volum) {
|
|
|
+ specificationV += ypForm.value.volum + (vUnit == undefined ? '' : vUnit.label) + ' '
|
|
|
+ specification2V = specificationV
|
|
|
+ }
|
|
|
+ if (ypForm.value.packSize) {
|
|
|
+ if (ypForm.value.packSize == 1) {
|
|
|
+ specificationV += '/' + mUnit.label
|
|
|
+ } else if (mUnit.label != pUnit.label) {
|
|
|
+ specificationV += '×' + ypForm.value.packSize + mUnit.label + '/' + pUnit.label
|
|
|
+ } else {
|
|
|
+ specificationV += '/' + mUnit.label
|
|
|
+ }
|
|
|
+ specification2V += '/' + mUnit.label
|
|
|
+ }
|
|
|
+ ypForm.value.specification = specificationV
|
|
|
+ ypForm.value.specification2 = specification2V
|
|
|
+}
|
|
|
+
|
|
|
+// 拆零价随零售价
|
|
|
+const retpriceFormat = () => {
|
|
|
+ ypForm.value.retprice = ypForm.value.packRetprice
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// 药品限价随购入价
|
|
|
+const ybxjPriceFormat = () => {
|
|
|
+ ypForm.value.ybxjPrice = ypForm.value.buyPrice
|
|
|
+}
|
|
|
+
|
|
|
+// ---------- 保存字典信息 ------------
|
|
|
+const submitForm = async (formEl) => {
|
|
|
+ if (!formEl) return
|
|
|
+
|
|
|
+ await formEl.validate((valid, fields) => {
|
|
|
+ if (valid) {
|
|
|
+ ElMessageBox.confirm('请确认是否保存药品账页字典信息?', {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ }).then(() => {
|
|
|
+ saveYpDict(ypForm.value).then((res) => {
|
|
|
+ emit('closeYpEditFor', {})
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ message: res.cg,
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ return
|
|
|
+ })
|
|
|
+ }).catch((action) => {
|
|
|
+ if (action === 'cancel') {
|
|
|
+ emit('closeYpEditFor', {})
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: "info",
|
|
|
+ message: '药品字典必填信息不全,请确认!',
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
</script>
|