1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003 |
- <template>
- <!-- 配送目录管理 -->
- <div style="display: flex">
- <el-card style="width: 18%; margin-right: 18px; border-radius: 6px">
- <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
- <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
- <el-tab-pane label="按机构" name="org"></el-tab-pane>
- </el-tabs>
- <el-tree
- :data="data"
- :props="defaultProps"
- node-key="spdId"
- @node-click="handleNodeClick"
- default-expand-all="true"
- style="margin-top: 10px"
- ></el-tree>
- </el-card>
- <div class="right-common-box">
- <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="90px">
- <!-- <el-form-item label="耗材编码" prop="materialId" class="long">
- <el-input
- v-model="listQuery.materialId"
- placeholder="请输入耗材编码"
- ></el-input>
- </el-form-item> -->
- <!-- <el-form-item size="mini" label="医保编码" prop="hiCode" class="long">
- <el-input v-model="listQuery.hiCode" placeholder="请输入医保编码"></el-input>
- </el-form-item> -->
- <el-form-item size="mini" label="耗材信息" prop="prodName" class="long">
- <el-input v-model="listQuery.prodName" placeholder="请输入耗材名称/医保编码"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="规格" prop="spec" class="long">
- <el-input v-model="listQuery.spec" placeholder="请输入规格"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="型号" prop="mol" class="long">
- <el-input v-model="listQuery.mol" placeholder="请输入型号"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="生产企业" prop="prodEntp" class="long">
- <el-input v-model="listQuery.prodEntp" placeholder="请输入生产企业"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="是否集采" prop="isFas" class="long">
- <el-select v-model="listQuery.isFas" placeholder="请选择是否集采" clearable>
- <el-option
- v-for="item in isFasData"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <!-- <el-form-item label="集采批次" prop="fasBtch" class="long">
- <el-input v-model="listQuery.fasBtch" placeholder="请输入集采批次"></el-input>
- </el-form-item> -->
- <el-form-item size="mini" label="耗材类别" prop="mcsType" class="long">
- <el-select v-model="listQuery.mcsType" placeholder="请选择耗材类别" clearable>
- <el-option
- v-for="item in mcsTypeData"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item size="mini" label="生产来源" prop="prodSouc" class="long">
- <el-select v-model="listQuery.prodSouc" placeholder="请选择生产来源" clearable>
- <el-option
- v-for="item in SoucData"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item size="mini" label="材质" prop="matl" class="long">
- <el-input v-model="listQuery.matl" placeholder="请输入材质"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="注册证号" prop="regcertno" class="long">
- <el-input v-model="listQuery.regcertno" placeholder="请输入注册证号"></el-input>
- </el-form-item>
- <el-form-item size="mini" label="目录来源" prop="isPub" class="long">
- <el-select v-model="listQuery.isPub" placeholder="请选择目录来源" clearable>
- <el-option
- v-for="item in isPubData"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <!-- <div class="right-button"> -->
- <el-button type="primary" style="margin-left:30px" @click="getHospConsum('search')">查询</el-button>
- <el-button @click="reset('consumableData')">重置</el-button>
- <!-- </div> -->
- </el-form>
-
- <div class="right-button" v-if="btnShow">
- <el-button type="primary" icon="el-icon-plus" @click="handleUpdate('search')"
- >挂网目录新增
- </el-button>
- <el-button type="primary" icon="el-icon-plus" @click="handleFadd('search')"
- >非挂网目录新增
- </el-button>
- </div>
- <el-table
- v-loading="listLoading"
- element-loading-text="加载中"
- :data="list"
- fit
- height="500"
- stripe
- border
- >
- <template slot="empty">
- <img src="@/assets/nopage.png" alt />
- <p>暂无数据</p>
- </template>
- <el-table-column fixed type="index" label="序号" width="60" />
- <el-table-column label="耗材信息" min-width="340">
- <template slot-scope="scope">
- <mcs-info :info="scope.row"></mcs-info>
- </template>
- </el-table-column>
- <el-table-column label="医保编码" prop="hiCode" width="80" />
- <el-table-column label="规格" prop="spec" width="80" />
- <el-table-column label="型号" prop="mol" width="80" />
- <el-table-column label="材质" prop="matl" width="80" />
- <el-table-column label="是否集采" prop="isFas" width="80">
- <template #default="{ row }">
- <span v-if="row.isFas == '0'">否</span>
- <span v-if="row.isFas == '1'">是</span>
- </template>
- </el-table-column>
- <el-table-column label="生效时间" prop="crteTime" width="140" />
- <el-table-column label="采购单位" prop="purcUnt" width="80" />
- <el-table-column label="采购价" prop="purcPric" width="80" />
- <el-table-column label="目录来源" prop="isPub" width="80" fixed="right">
- <template #default="{ row }">
- <span v-if="row.isPub == '1'">挂网</span>
- <span v-if="row.isPub == '0'">非挂网</span>
- </template>
- </el-table-column>
- <!-- <el-table-column label="当前状态" prop="status" width="80" fixed="right">
- <template #default="{ row }">
- <span v-if="row.status == 'A'">待提交</span>
- <span v-if="row.status == 'B'">已提交</span>
- <span v-if="row.status == 'C'">审核通过</span>
- <span v-if="row.status == 'R'">驳回 </span>
- </template>
- </el-table-column> -->
- <el-table-column fixed="right" label="操作" width="160">
- <template slot-scope="scope">
- <div>
- <el-button type="text" @click="handleDui(scope.row)">修改</el-button>
- <!-- <el-button type="text" v-if="scope.row.stas == '1'" @click="handleCanc(scope.row)">取消对码</el-button> -->
- <!-- <el-button type="text" @click="handlePrice(scope.row)">申请调价</el-button> -->
- </div>
- </template>
- </el-table-column>
- </el-table>
- <!--分页-->
- <yl-pagination
- v-show="total > 0"
- :total="total"
- :page.sync="listQuery.current"
- :limit.sync="listQuery.size"
- @pagination="getHospConsum"
- />
- </div>
- <el-dialog title="调价申请" :visible.sync="dialogPrice" width="55%">
- <el-form
- ref="dataForm"
- :rules="rules"
- :model="temp"
- label-position="right"
- label-width="80px"
- >
- <el-row>
- <el-col :span="8">
- <el-form-item label="药品编码" prop="drugListId">
- <el-input v-model.trim="temp.drugListId" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="药品名称" prop="drugName">
- <el-input v-model.trim="temp.drugName" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="剂型" prop="dosformName">
- <el-input v-model.trim="temp.dosformName" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="规格" prop="specName">
- <el-input v-model.trim="temp.specName" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="包装单位" prop="pacUnt">
- <el-input v-model.trim="temp.pacUnt" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="生产企业" prop="prodEntp">
- <el-input v-model.trim="temp.prodEntp" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="当前价格" prop="pricInit">
- <el-input v-model.trim="temp.pricInit" readonly placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="调整价格" prop="pricCurr">
- <el-input v-model.trim="temp.pricCurr" placeholder="请输入调整后价格" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-form-item label="申请原因" prop="appyRea">
- <el-input
- type="textarea"
- v-model.trim="temp.appyRea"
- placeholder="请输入调价原因"
- />
- </el-form-item>
- </el-row>
- <el-row>
- <el-form-item label="上传文件" prop="fileId" :rules="rules.uploadRequired">
- <yl-upload :fileId="temp.fileId" @getUpload="getUpload" urlName="acco">
- <template v-slot:dec>只能上传pdf文件</template>
- </yl-upload>
- </el-form-item>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="dialogPrice = false">取消</el-button>
- <el-button type="primary" @click="commitData()" :loading="ccLoad">确认</el-button>
- </div>
- </el-dialog>
- <el-dialog title="选择耗材" :visible.sync="dialogAdd" width="70%">
- <template>
- <el-form
- :model="listQueryadd"
- ref="listQueryadd"
- :inline="true"
- label-width="90px"
- >
- <el-form-item size="mini" label="耗材名称" prop="prodName" class="long">
- <el-input
- v-model="listQueryadd.prodName"
- placeholder="请输入耗材名称"
- ></el-input>
- </el-form-item>
- <el-form-item size="mini" label="规格" prop="spec" class="long">
- <el-input v-model="listQueryadd.spec" placeholder="请输入耗材规格"></el-input>
- </el-form-item>
- <!-- <el-form-item label="耗材编码" prop="materialId" class="long">
- <el-input
- v-model="listQueryadd.materialId"
- placeholder="请输入耗材编码"
- ></el-input>
- </el-form-item> -->
- <el-form-item size="mini" label="医保编码" prop="hiCode" class="long">
- <el-input
- v-model="listQueryadd.hiCode"
- placeholder="请输入医保编码"
- ></el-input>
- </el-form-item>
- <el-form-item size="mini" label="是否集采" prop="isFas" class="long">
- <el-select
- v-model="listQueryadd.isFas"
- placeholder="请选择是否集采"
- clearable
- >
- <el-option
- v-for="item in isFasData"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item size="mini" label="注册证号" prop="regcertno" class="long">
- <el-input
- v-model="listQueryadd.regcertno"
- placeholder="请输入注册证号"
- ></el-input>
- </el-form-item>
- <el-form-item size="mini" label="生产企业" prop="prodEntp" class="long">
- <el-input
- v-model="listQueryadd.prodEntp"
- placeholder="请输入生产企业"
- ></el-input>
- </el-form-item>
- <el-form-item size="mini" label="型号" prop="mol" class="long">
- <el-input v-model="listQueryadd.mol" placeholder="请输入型号"></el-input>
- </el-form-item>
- <!-- <el-form-item label="对码状态" prop="stas">
- <el-select
- v-model="listQuery.stas"
- placeholder="请选择对码状态"
- clearable
- >
- <el-option
- v-for="item in crspFlgOption"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item> -->
- <el-form-item>
- <el-button type="primary" @click="getdialog('search')">查询</el-button>
- <el-button @click="resetdialog('consumableData')">重置</el-button>
- </el-form-item>
- </el-form>
- <el-table
- ref="multipleTable"
- v-loading="listdialogLoading"
- element-loading-text="加载中"
- fit
- stripe
- border
- :data="consumableData"
- border
- style="width: 100%"
- row-key="id"
- height="500"
- @selection-change="handleSelectionChange"
- highlight-current-row
- >
- <el-table-column
- type="selection"
- :selectable="selected"
- :reserve-selection="true"
- width="55"
- ></el-table-column>
- <el-table-column prop="hiCode" label="医保编码"> </el-table-column>
- <el-table-column prop="prodName" label="耗材名称" width="180">
- </el-table-column>
- <el-table-column prop="pubonlnPric" label="挂网价格"> </el-table-column>
- <el-table-column prop="isFas" label="是否集采">
- <template #default="{ row }">
- <span v-if="row.isFas == '0'">否</span>
- <span v-if="row.isFas == '1'">是</span>
- </template>
- </el-table-column>
- <el-table-column prop="fasBtch" label="集采批次"> </el-table-column>
- <!-- <el-table-column prop="splb" label="商品类别">
- </el-table-column>
- <el-table-column prop="spfl" label="商品分类">
- </el-table-column> -->
- <el-table-column prop="spec" label="规格"> </el-table-column>
- <el-table-column prop="mol" label="型号"> </el-table-column>
- <el-table-column prop="matl" label="材质"> </el-table-column>
- <el-table-column prop="pacmatl" label="包装材质"> </el-table-column>
- <el-table-column prop="prodSouc" label="生产来源">
- <template #default="{ row }">
- <span v-if="row.prodSouc == '1'">国产</span>
- <span v-if="row.prodSouc == '2'">进口</span>
- </template>
- </el-table-column>
- <el-table-column prop="regcertno" label="注册证号"> </el-table-column>
- <el-table-column prop="prodEntp" label="生产企业" width="120">
- </el-table-column>
- <el-table-column prop="agnt" label="代理企业" width="150"> </el-table-column>
- </el-table>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="handleConfirm" :loading="addLoading"
- >确认</el-button
- >
- </div>
- <!-- <el-form :model="form" ref="form" :rules="rules">
- <el-table
- :data="form.splerData"
- border
- style="width: 100%"
- v-loading="supLoading"
- >
- <el-table-column
- fixed
- prop="splerDrugName"
- label="药品名称"
- width="150"
- >
- </el-table-column>
- <el-table-column
- prop="splerDosformName"
- label="剂型名称"
- width="120"
- >
- </el-table-column>
- <el-table-column prop="splerProdentpName" label="生产企业">
- </el-table-column>
- <el-table-column
- prop="splerDrugListId"
- label="药品编码"
- width="120"
- >
- </el-table-column>
- <el-table-column prop="address" label="规格" width="250">
- <template slot-scope="scope">
- <div class="drug-name">
- {{"供应商规格 【" +scope.row.splerSpecName +"*" +scope.row.splerPrepunt +"/" +scope.row.splerPacUnt +"】"}}
- </div>
- </template>
- </el-table-column>
- <el-table-column prop="address" label="转换比" width="150">
- <template slot-scope="scope">
- <el-form-item :prop="'splerData.' + scope.$index + '.convrat'" :rules="{required: true,message: '输入转换比',trigger: 'change'}" >
- <el-input v-model="scope.row.convrat" placeholder="请输入转换比"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column fixed="right" label="操作" width="60">
- <template slot-scope="scope">
- <el-button
- @click="handleClick(scope.row, scope.$index)"
- type="text"
- size="small"
- >对码</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- </el-form> -->
- <!--分页-->
- <yl-pagination
- v-show="totalC > 0"
- :total="totalC"
- :page.sync="listQueryadd.current"
- :limit.sync="listQueryadd.size"
- @pagination="getdialog"
- />
- </template>
- </el-dialog>
- </div>
- </template>
- <script>
- import ylPagination from "@/components/yl-pagination";
- import mcsInfo from "@/views/components/mcs-info.vue";
- import {
- selectSplerMcsList,
- selectMcsList,
- saveSplerMcs,
- PricChg,
- QueryHospList,
- QueryHospDrugList,
- QuerySplerDrugList,
- DrugMatch,
- CancMatch,
- selectSpdList,
- selectSplerMcsListIntf
- } from "@/api/consumCataManage-sup/index";
- import rulesR from "@/utils/rules";
- import ylUpload from "@/components/yl-upload";
- export default {
- components: {
- ylPagination,
- ylUpload,
- mcsInfo,
- },
- data() {
- return {
- activeName: "grp",
- rulesR,
- spdId: null,
- data: [],
- defaultProps: {
- children: "children",
- label: "spdName",
- },
- listQuery: {
- current: 1,
- size: 10,
- materialId: "",
- spec: "",
- hiCode: "",
- isFas: "",
- fasBtch: "",
- mol: "",
- prodSouc: "",
- mcsType: "",
- matl: "",
- prodEntp: "",
- prodName: "",
- status: "",
- regcertno: "",
- isPub: "",
- spdId:"",
- },
- listLoading: false,
- list: [],
- total: 0,
- tableLoading: false,
- supLoading: false,
- tableData: [],
- // crspFlgOption: [
- // { value: "0", name: "未对码" },
- // { value: "1", name: "已对码" },
- // ],
- isFasData: [
- { value: "1", name: "是" },
- { value: "0", name: "否" },
- ],
- mcsTypeData: [
- { value: "0", name: "普通耗材" },
- { value: "1", name: "高值耗材" },
- { value: "2", name: "试剂" },
- ],
- SoucData: [
- { value: "1", name: "国产" },
- { value: "2", name: "进口" },
- ],
- statusData: [
- { value: "A", name: "待提交" },
- { value: "B", name: "已提交" },
- { value: "C", name: "审核通过" },
- { value: "R", name: "驳回" },
- ],
- isPubData: [
- { value: "1", name: "挂网" },
- { value: "0", name: "非挂网" },
- ],
- dialogPrice: false,
- dialogDui: false,
- ccLoad: false,
- temp: {
- drugListId: "",
- drugName: "",
- dosformName: "",
- specName: "",
- pacUnt: "",
- prodEntp: "",
- pricInit: "",
- pricCurr: "",
- appyRea: "",
- fileId: "",
- },
- rules: {
- pricCurr: [
- {
- required: true,
- message: "调整价格不能为空",
- trigger: "blur",
- },
- {
- pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
- message: "请输入数字,最多两位小数",
- trigger: "blur",
- },
- ],
- appyRea: [
- {
- required: true,
- message: "申请原因不能为空",
- trigger: "blur",
- },
- ],
- num: [
- {
- required: true,
- message: "请输入转换比",
- trigger: "change",
- },
- ],
- uploadRequired: [{ required: true, message: "请上传文件", trigger: "change" }],
- },
- tableData: [
- {
- date: "2016-05-02",
- name: "王小虎",
- province: "上海",
- city: "普陀区",
- address: "上海市普陀区金沙江路 1518 弄",
- zip: 200333,
- },
- {
- date: "2016-05-04",
- name: "王小虎",
- province: "上海",
- city: "普陀区",
- address: "上海市普陀区金沙江路 1517 弄",
- zip: 200333,
- },
- {
- date: "2016-05-01",
- name: "王小虎",
- province: "上海",
- city: "普陀区",
- address: "上海市普陀区金沙江路 1519 弄",
- zip: 200333,
- },
- {
- date: "2016-05-03",
- name: "王小虎",
- province: "上海",
- city: "普陀区",
- address: "上海市普陀区金沙江路 1516 弄",
- zip: 200333,
- },
- ],
- consumableData: [],
- form: {
- splerData: [],
- },
- // 省平台目录
- listdialogLoading: false,
- dialogAdd: false,
- listQueryadd: {
- materialId: "",
- materialId: "",
- spec: "",
- hiCode: "",
- isFas: "",
- fasBtch: "",
- mol: "",
- current: 1,
- size: 10,
- regcertno: "",
- prodEntp: "",
- mol: "",
- },
- totalC: false,
- addLoading: false,
- insertMcsList: [],
- // tree
- activeNametree: "org",
- btnShow: false,
- list1:[],
- routespdId:"",
- };
- },
- methods: {
- tabClick(tab) {
- if (tab.label == "按机构") {
- this.defaultProps.label = "spdName";
- }
- // else if(tab.label == "按分类"){
- // // this.getData4();
- // // this.defaultProps.label = 'orgGrpName'
- // // this.listQuery.type = 'grp';
- // }
- },
- // 上传文件
- getUpload(id) {
- this.temp.fileId = id;
- if (id) {
- this.$refs.dataForm.clearValidate("fileId");
- } else {
- this.$refs.dataForm.validateField("fileId");
- }
- },
- validateField(form, index) {
- let result = true;
- for (let item of this.$refs[form].fields) {
- if (item.prop.split(".")[1] == index) {
- this.$refs[form].validateField(item.prop, (error) => {
- if (error != "") {
- result = false;
- }
- });
- }
- if (!result) break;
- }
- return result;
- },
- // 点击获取医院药品列表
- handleNodeClick(data) {
- this.listLoading = true;
- this.spdId = data.spdId;
- this.listQuery.spdId = this.spdId;
- selectSplerMcsList(this.listQuery)
- .then((res) => {
- this.list = res.data.records;
- this.total = res.data.total;
- this.listLoading = false;
- this.btnShow = true;
- })
- .catch((err) => {
- this.listLoading = false;
- });
- },
- // 获取医院列表
- getData(type) {
- this.data = [];
- this.listLoading = true;
- selectSpdList()
- .then((res) => {
- this.listQuery.spdId = res.data[0].spdId;
- this.data = res.data;
- this.listLoading = false;
- })
- .catch((err) => {
- this.listLoading = false;
- });
- },
- // 搜索获取医院药品列表
- getHospConsum(type) {
- if (type == "search") {
- this.listQuery.current = 1;
- }
- this.listLoading = true;
- selectSplerMcsList(this.listQuery)
- .then((res) => {
- this.list = res.data.records;
- this.total = res.data.total;
- this.listLoading = false;
- })
- .catch((err) => {
- this.listLoading = false;
- });
- },
- // 获取新增目录弹框数据
- getdialog(type) {
- if (type == "search") {
- this.listQueryadd.current = 1;
- }
- this.listdialogLoading = true;
- selectMcsList(this.listQueryadd)
- .then((res) => {
- this.consumableData = res.data.records;
- this.totalC = res.data.total;
- this.listdialogLoading = false;
- })
- .catch((err) => {
- this.listdialogLoading = false;
- });
- },
-
- reset(type) {
- if (type === "consumableData") {
- this.$refs.listQuery.resetFields();
- this.getHospConsum();
- } else {
- this.$refs.supQuery.resetFields();
- this.searchSup();
- }
- },
- resetdialog(type) {
- if (type === "consumableData") {
- this.$refs.listQueryadd.resetFields();
- this.getdialog();
- } else {
- this.$refs.supQuery.resetFields();
- this.searchSup();
- }
- },
- // 多选
- handleSelectionChange(e) {
- this.insertMcsList = e;
- this.insertMcsList = this.insertMcsList.map((item)=>{
- return{
- ...item,
- spdId: this.spdId,
- opeType:"新增",
- }
- })
- },
- // 多选后选过的禁用
- selected(row, index) {
- if (
- this.list1.some((el) => {
- return el.hiCode === row.hiCode;
- })
- ) {
- return false;
- } else {
- return true;
- }
- },
- // 新增目录
- handleUpdate(type) {
- if (type == "search") {
- this.listQueryadd.current = 1;
- }
- this.dialogAdd = true;
- selectSplerMcsListIntf(this.listQuery).then((res)=>{
- this.list1 = res.data.records;
- })
- this.getdialog();
- },
- // 新增目录确认
- handleConfirm() {
- if (this.insertMcsList.length == 0) {
- this.$message({
- message: "请选择要添加的数据",
- type: "warning",
- });
- } else {
- this.$confirm("确认提交", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- this.addLoading = true;
- saveSplerMcs({ insertMcsList: this.insertMcsList })
- .then((res) => {
- if (res.success === true) {
- this.addLoading = false;
- this.getHospConsum();
- this.insertMcsList = [];
- this.dialogAdd = false;
- this.$refs.multipleTable.clearSelection();
- this.$router.push({
- name:"consumCataManagement-sup",
- query:{spdId:this.spdId}
- })
- } else {
- this.addLoading = false;
- this.$refs.multipleTable.clearSelection();
- // this.$message({
- // message: res.message || "操作失败",
- // type: "error",
- // });
- }
- })
- .catch(() => {
- this.addLoading = false;
- this.dialogAdd = false;
- this.$refs.multipleTable.clearSelection();
- });
- });
- }
- // saveSplerMcs
- // this.addLoading = false;
- // this.dialogAdd = false;
- },
- // 非挂网目录新增
- handleFadd() {
- this.$router.push({
- name: "catalogdetailsadd",
- query: { spdId: this.spdId },
- });
- },
- // 调价申请 确认
- commitData() {
- this.$refs["dataForm"].validate((valid) => {
- if (valid) {
- this.ccLoad = true;
- let data = {
- drugListId: this.temp.drugListId,
- pricInit: this.temp.pricInit,
- pricCurr: this.temp.pricCurr,
- appyRea: this.temp.appyRea,
- spdId: this.spdId,
- fileId: this.temp.fileId,
- };
- PricChg(data)
- .then((res) => {
- if (res.success === true) {
- this.$message("调价已申请");
- this.ccLoad = false;
- this.dialogPrice = false;
- this.getHospConsum();
- }
- })
- .catch((err) => {
- this.ccLoad = false;
- });
- }
- });
- },
- // 对码弹窗获取供应商列表
- handleDui(row) {
- if (this.spdId) {
- this.routespdId = this.spdId;
- } else {
- this.routespdId = this.$route.query.spdId;
- }
- this.$router.push({
- name: "catalogdetails",
- query: { id: row.id, status: row.status, spdId: this.routespdId, isPub: row.isPub,type:"modify",page:"1" ,opeType:"修改" },
- });
- // this.dialogDui = true;
- // this.consumableData = [];
- // this.consumableData.push(row);
- // this.supLoading = true;
- // QuerySplerDrugList({ spdId: row.spdId })
- // .then((res) => {
- // this.form.splerData = res.data.records;
- // this.total = res.data.total;
- // this.supLoading = false;
- // })
- // .catch((err) => {
- // this.supLoading = false;
- // });
- },
- // 对码操作
- handleClick(item, index) {
- let DrugMatchObj = {
- spdId: this.spdId,
- drugListId: this.consumableData[0].drugListId,
- splerDrugListId: item.splerDrugListId,
- convrat: item.convrat,
- };
- if (!this.validateField("form", index)) {
- return;
- } else {
- DrugMatch(DrugMatchObj).then((res) => {
- if (res.success === true) {
- this.dialogDui = false;
- this.getHospConsum();
- this.$message({
- message: "对码成功",
- type: "success",
- });
- } else {
- this.$message.error("对码失败");
- }
- });
- }
- },
- // 取消对码
- handleCanc(row) {
- this.$confirm("此操作会取消该药品对码, 是否继续?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- CancMatch({ spdId: this.spdId, drugListId: row.drugListId }).then((res) => {
- if (res.success) {
- this.getHospConsum();
- this.$message({
- type: "success",
- message: "取消对码成功",
- });
- }
- });
- })
- .catch(() => {});
- },
- //搜索供应商列表
- searchSup() {
- this.supLoading = true;
- this.supQuery.spdId = this.spdId;
- QuerySplerDrugList(this.supQuery)
- .then((res) => {
- this.form.splerData = res.data.records;
- this.total = res.data.total;
- this.supLoading = false;
- })
- .catch((err) => {
- this.supLoading = false;
- });
- },
- },
- mounted() {
- this.getData();
- // this.getHospConsum();
- if (this.$route.query.spdId) {
- this.listQuery.spdId = this.$route.query.spdId;
- selectSplerMcsList(this.listQuery)
- .then((res) => {
- this.list = res.data.records;
- this.total = res.data.total;
- this.listLoading = false;
- this.btnShow = true;
- })
- .catch((err) => {
- this.listLoading = false;
- });
- };
- },
- };
- </script>
- <style lang="scss" scoped>
- ::v-deep .el-card__body {
- padding: 12px;
- }
- ::v-deep .el-tree-node__content {
- height: 35px;
- }
- ::v-deep .el-input__suffix {
- display: flex;
- align-items: center;
- cursor: pointer;
- font-size: 15px;
- }
- ::v-deep .long .el-form-item__content {
- width: 220px;
- }
- ::v-deep .long .el-input__inner {
- width: 199px;
- }
- </style>
|