You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udiwms-vue-frame/src/views/basic/product/productEdit.vue

1845 lines
66 KiB
Vue

<template>
<div>
<el-form
:model="editQuery"
:rules="rules"
ref="editQuery"
border
label-width="130px"
>
<el-card>
<el-table :data="sysList" style="width: 100%; margin-bottom: 8px" key="2" border>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="第三方系统名称" prop="sysName" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方系统物资编码" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方系统物资名称" prop="thirdName" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方系统规格型号" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案号" prop="registerNo" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufactory" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="text" @click="addSelectErp(scope.row)" :disabled="scope.row.thirdId==editQuery.nameCode">
关联
</el-button>
<el-button type="text" @click.native.stop="removeErp(scope.row)"
:disabled="editQuery.flbm==null || scope.row.thirdId==null || scope.row.thirdId==''">解绑
</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<el-card>
<div style=" float: left;
text-align: left;
font-weight: bold;
margin-bottom: 8px">
<span>产品标识:</span>
</div>
<div style=" float: right;
text-align: right;
margin-bottom: 8px;"
>
<!-- <el-button type="primary" size="mini" icon="search" @click="addDrugLevel"-->
<!-- style="text-align:right"-->
<!-- >新增药品层级-->
<!-- </el-button>-->
<el-button type="primary" size="mini" icon="search" @click="removeDi" v-if="productType!=1"
style="text-align:right">解绑DI器械信息
</el-button>
</div>
<el-table
v-loading="loading"
:data="detailList"
style="width: 100%;"
border
key="3"
@current-change="handleDetail"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="层级标识" prop="nameCode" show-overflow-tooltip width="160">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.nameCode" style="width: 100%;margin: 4px;"
:disabled="true"
></el-input>
</template>
</el-table-column>
<!-- 1.主标识2使用单元标识3.本体标识4包装标识-->
<el-table-column label="标识类型" prop="diType" show-overflow-tooltip width="160">
<template slot-scope="scope">
<el-select v-model="scope.row.diType"
:disabled="true"
style="width: 90%" placeholder="选择标识类型" clearable>
<el-option label="最小销售标识" :value="1"></el-option>
<el-option label="使用单元标识" :value="2"></el-option>
<el-option label="本体标识" :value="3"></el-option>
<el-option label="外包装标识" :value="4"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip width="100">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.packLevel" style="width: 100%"
type="number"
:disabled="true"
></el-input>
</template>
</el-table-column>
<el-table-column label="层级单位" prop="packUnit" show-overflow-tooltip width="120">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.packUnit" style="width: 100%"
:disabled="scope.$index !== selectedIndex"
></el-input>
</template>
</el-table-column>
<el-table-column label="下级数量" prop="bhxjsl" show-overflow-tooltip width="100">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.bhxjsl" style="width: 100%"
type="number"
:disabled="scope.$index !== selectedIndex"
></el-input>
</template>
</el-table-column>
<el-table-column label="下级单位" prop="xjdw" show-overflow-tooltip width="120">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.xjdw" style="width: 100%"
:disabled="scope.$index !== selectedIndex"
></el-input>
</template>
</el-table-column>
<el-table-column label="下级标识" prop="bhxjcpbm" show-overflow-tooltip width="160">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.bhxjcpbm" style="width: 100%"
:disabled="scope.$index !== selectedIndex "
></el-input>
</template>
</el-table-column>
<el-table-column label="上级标识" prop="sjcpbm" show-overflow-tooltip width="160">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.sjcpbm" style="width: 100%"
:disabled="scope.$index !== selectedIndex"
></el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="180px" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small" v-if="scope.$index == selectedIndex " @click.stop="true"
@click.native="levelSave(scope.row)"
>保存
</el-button>
<el-button
type="text"
size="small"
v-if="scope.$index != selectedIndex "
@click.stop="true"
@click.native="rowChange(scope.$index,scope.row)"
>编辑
</el-button>
<!--:disabled=" scope.row.id != null"-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.stop="true"-->
<!-- @click.native="deleteLevel(scope.$index, scope.row)"-->
<!-- >删除-->
<!-- </el-button>-->
</template>
</el-table-column>
</el-table>
<template>
<p class="form-title2">流通时采用的计量单位设置</p>
</template>
<el-row :gutter="20">
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="distributeLevel" label-width="160px">
<el-select v-model="editQuery.distributeLevel" size="small" style="width: 90%"
clearable
@change="distributeLevelDiChange"
placeholder="请选择计量单位"
>
<el-option
v-for="item in levelUnitList"
:key="item.packLevel"
:value="item.packLevel"
:label="item.packUnit"
>
<span style="float: right; color: #8492a6; font-size: 13px">单位:{{ item.packUnit }}</span>
<span style="float: left">层级:{{ item.packLevel }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="允许采集的最大层级:" prop="distributeMaxLevel" label-width="160px">
<el-select v-model="editQuery.distributeMaxLevel" size="small" style="width: 90%"
clearable
placeholder="请选择允许采集的最大层级"
>
<el-option
v-for="item in levelUnitList"
:key="item.packLevel"
:value="item.packLevel"
:label="item.packLevel"
>
<span style="float: right; color: #8492a6; font-size: 13px">单位:{{ item.packUnit }}</span>
<span style="float: left">层级:{{ item.packLevel }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-divider></el-divider>
<template>
<p class="form-title2">使用时采用的计量单位设置</p>
</template>
<el-row :gutter="20">
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="useLevel" label-width="160px">
<el-select v-model="editQuery.useLevel" size="small" style="width: 90%"
clearable
@change="useLevelDiChange"
placeholder="请选择计量单位"
>
<el-option
v-for="item in levelUnitList"
:key="item.packLevel"
:value="item.packLevel"
:label="item.packUnit"
>
<span style="float: right; color: #8492a6; font-size: 13px">单位:{{ item.packUnit }}</span>
<span style="float: left">层级:{{ item.packLevel }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="允许采集的最大层级:" prop="useMaxLevel" label-width="160px">
<el-select v-model="editQuery.useMaxLevel" size="small" style="width: 90%"
clearable
placeholder="请选择允许采集的最大层级"
>
<el-option
v-for="item in levelUnitList"
:key="item.packLevel"
:value="item.packLevel"
:label="item.packLevel"
>
<span style="float: right; color: #8492a6; font-size: 13px">单位:{{ item.packUnit }}</span>
<span style="float: left">层级:{{ item.packLevel }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="11" class="el-col">
<el-form-item label="拆包后可用时长(小时):" prop="unpackUseTime" label-width="160px">
<el-input v-model="editQuery.unpackUseTime" size="small" style="width: 90%"
clearable
placeholder="请输入拆包后可用时长(小时)"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-card>
<el-card>
<!--<el-row type="flex" class="edit-row" style="margin-top: 20px">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="收费项目编码:">-->
<!-- <el-input-->
<!-- style="width: 60%"-->
<!-- size="small"-->
<!-- placeholder="选择项目收费编码"-->
<!-- v-model="editQuery.payFeeCode"-->
<!-- ></el-input>-->
<!-- <el-button type="primary" size="mini" style="margin-left: 10px" @click="selectPayFeecode"></el-button>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="计量单位:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入内容"
v-model="editQuery.measname"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生产企业:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入内容"
v-model="editQuery.manufactory"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="商品名称:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入商品名称"
v-model="editQuery.spmc"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品描述:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入产品描述"
v-model="editQuery.cpms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="物资所属分类:">
<treeselect
v-model="editQuery.relCode"
:options="fromDeptOptions"
:normalizer="normalizer"
:show-count="true"
style="width: 80%;"
placeholder="选择物资所属分类"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="医保编码:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入医保编码"
v-model="editQuery.ybbm"
v-debounce-input:500ms="getYbHcData"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="一级分类名称:">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.catalogname1"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="二级分类名称:">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.catalogname2"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="三级分类名称:">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.catalogname3"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="耗材材质:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入耗材材质"
v-model="editQuery.matrial"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="库存积压预警数量:">
<el-input
style="width: 80%"
size="small"
type="number"
oninput="value=value.replace(/[^\d]/g,'')"
placeholder="请输入挤压预警数"
v-model="editQuery.overStockNum"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="低库存预警数量:">
<el-input
style="width: 80%"
size="small"
type="number"
oninput="value=value.replace(/[^\d]/g,'')"
placeholder="低库存预警数量"
v-model="editQuery.lowStockNum"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="近效期预警时间:">
<el-input
style="width: 80%"
size="small"
type="number"
splaceholder="请输入内容"
v-model="editQuery.recentDateTime"
@change="handleChange"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="预警时间单位:">
<el-select v-model="editQuery.isDateBy" style="width: 80%" placeholder="状态" clearable>
<el-option label="天" :value="1"></el-option>
<el-option label="小时" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable1">
<el-form-item :label="productRemarkSet.remarkTitle1+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak1"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable2">
<el-form-item :label="productRemarkSet.remarkTitle2+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak2"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable3">
<el-form-item :label="productRemarkSet.remarkTitle3+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak3"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable4">
<el-form-item :label="productRemarkSet.remarkTitle4+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak4"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable5">
<el-form-item :label="productRemarkSet.remarkTitle5+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak5"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable6">
<el-form-item :label="productRemarkSet.remarkTitle6+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak6"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable7">
<el-form-item :label="productRemarkSet.remarkTitle7+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak7"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable8">
<el-form-item :label="productRemarkSet.remarkTitle8+':'">
<el-select
v-model="editQuery.basicPrductRemak8"
filterable
remote
clearable="true"
reserve-keyword
laceholder="请选择物价类别"
:remote-method="findHsflMethod"
:loading="loading"
style="width: 80%"
>
<el-option
v-for="item in hsflOptions"
:key="item.hsbm"
:label="item.hsmc"
:value="item.hsbm"
>
<span style="float: left">{{ item.hsmc }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分类编码:" prop="require">
<el-select
v-model="editQuery.flbm"
filterable
remote
clearable="true"
style="width: 80%"
reserve-keyword
placeholder="请选择"
:loading="loading"
@change="classifyChange()"
>
<el-option
v-for="item in classifyList"
:key="item.code"
:label="item.name"
:value="item.code">
<span>{{ item.code }}</span>
<span>{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
10 months ago
<el-col :span="12">
<el-form-item label="包装规格:">
<el-input
style="width: 80%"
size="small"
placeholder="请输入包装规格"
10 months ago
v-model="editQuery.bzgg"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="工位预警数量:">
<el-input
type="number"
style="width: 80%"
min="1"
size="small"
placeholder="请输入工位预警数"
v-model="editQuery.workPlaceCount"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-card>
<el-collapse v-model="activeNames" style="margin-top: 12px">
<el-collapse-item title="高级设置" name="1"
style="font-size: 19px;
margin-left: 25px;
font-weight: bold;">
<div style="width: 96%;margin: 0 auto">
<el-row>
<el-col span="5">
<span>参数</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<span>设置</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span>参数设置说明</span>
</el-col>
</el-row>
<el-divider direction="horizontal"></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否需要扫码</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.requireScanCode" style="width: 65%" placeholder="状态" clearable>
<el-option label="是" :value=1></el-option>
<el-option label="否" :value=0></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否需要扫码</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否禁用</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.isDisable" style="width: 65%" placeholder="状态" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否禁用</span>
</el-col>
</el-row>
<el-divider></el-divider>
<!-- <el-row>-->
<!-- <el-col span="5">-->
<!-- <span class="sptext">是否寄售</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="5">-->
<!-- <el-select v-model="editQuery.isAdavence" style="width: 65%" placeholder="状态" clearable>-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="13">-->
<!-- <span class="sptext">是否寄售</span>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-divider></el-divider>-->
<el-row>
<el-col span="5">
<span class="sptext">采购类型</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.purType" style="width: 65%" placeholder="选择采购类型" clearable>
<el-option label="普通入账产品" :value="1"></el-option>
<el-option label="预验收产品" :value="2"></el-option>
<el-option label="寄售产品" :value="3"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">采购类型</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">产品属性</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.attributeType" style="width: 65%" placeholder="选择产品属性" clearable>
<el-option label="设备" :value="1"></el-option>
<el-option label="耗材" :value="2"></el-option>
<el-option label="伴随服务费" :value="3"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">产品属性</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">耗材类别</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.hcType" style="width: 65%" placeholder="选择耗材类别" clearable>
<el-option label="高值耗材" :value="1"></el-option>
<el-option label="普通耗材" :value="2"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">产品属性</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否组套</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.isStack" style="width: 65%" placeholder="选择是否组套" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否组套</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">多次/重复使用耗材</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.useMuti" style="width: 65%" @change="setZdcfsycs" placeholder="状态"
clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">多次/重复使用耗材</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">最小包装可使用次数</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-input style="width: 65%" size="small" splaceholder="请输入内容" :disabled="!editQuery.useMuti"
type="number" v-model="editQuery.useNum"></el-input>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">最小包装可使用次数</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">启用使用单元</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.isUseDy" style="width: 65%"
:disabled="editQuery.useMuti==true "
placeholder="状态" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">启用使用单元</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否可配送</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.dispatch" style="width: 65%" placeholder="状态" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否可配送</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否集采产品</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.groupBuy" style="width: 65%" placeholder="状态" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否集采产品</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">允许无批次</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.allowNoBatch" style="width: 65%" placeholder="状态" clearable>
<el-option label="允许" :value="true"></el-option>
<el-option label="不允许" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">允许无批次</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">允许无失效日期</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.allowNoExpire" style="width: 65%" placeholder="状态" clearable>
<el-option label="允许" :value="true"></el-option>
<el-option label="不允许" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">允许无失效日期</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">允许无生产日期</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.allowNoProduct" style="width: 65%" placeholder="状态" clearable>
<el-option label="允许" :value="true"></el-option>
<el-option label="不允许" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">允许无生产日期</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">允许无序列号</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.allowNoSerial" style="width: 65%" placeholder="状态" clearable>
<el-option label="允许" :value="true"></el-option>
<el-option label="不允许" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">允许无序列号</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">是否必须维护资质材料</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="editQuery.needCert" style="width: 65%" placeholder="状态" clearable>
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">是否必须维护资质材料</span>
</el-col>
</el-row>
<el-divider></el-divider>
7 months ago
<!--<el-row>-->
<!-- <el-col span="5">-->
<!-- <span class="sptext">是否拆零</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="5">-->
<!-- <el-select v-model="editQuery.splitEnable" style="width: 65%" placeholder="是否拆零" clearable>-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="13">-->
<!-- <span class="sptext">是否拆零</span>-->
<!-- </el-col>-->
<!--</el-row>-->
<!--<el-divider></el-divider>-->
<!--<el-row>-->
<!-- <el-col span="5">-->
<!-- <span class="sptext">是否自动赋码</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="5">-->
<!-- <el-select v-model="editQuery.autoCode" style="width: 65%" placeholder="是否自动赋码" clearable>-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col span="13">-->
<!-- <span class="sptext">是否自动赋码</span>-->
<!-- </el-col>-->
<!--</el-row>-->
7 months ago
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">使用周期</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-input style="width: 65%" size="small" splaceholder="请输入内容" :disabled="this.useNumEnable"
type="number" v-model="editQuery.useExpireTime"></el-input>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">使用周期()</span>
</el-col>
</el-row>
<el-divider></el-divider>
</div>
</el-collapse-item>
<!-- <el-collapse-item title="参数设置" name="2"-->
<!-- style="font-size: 19px;-->
<!-- margin-left: 25px;-->
<!-- font-weight: bold;">-->
<!-- <div style="width: 96%;margin: 0 auto">-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通计量层级标识:" prop="distributeLevelDi" label-width="160px">-->
<!-- <el-select v-model="editQuery.distributeLevelDi" size="small" style="width: 90%"-->
<!-- clearable-->
<!-- placeholder="请选择流通计量层级标识">-->
<!-- <el-option-->
<!-- v-for="item in detailList"-->
<!-- :key="item.nameCode"-->
<!-- :value="item.nameCode"-->
<!-- :label="item.nameCode">-->
<!-- <span style="float: left">{{ item.nameCode }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.packLevel }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用计量层级标识:" prop="useLevelDi" label-width="160px">-->
<!-- <el-select v-model="editQuery.useLevelDi" size="small" style="width: 90%"-->
<!-- clearable-->
<!-- disabled-->
<!-- placeholder="请选择流通计量层级标识">-->
<!-- <el-option-->
<!-- v-for="item in detailList"-->
<!-- :key="item.nameCode"-->
<!-- :value="item.nameCode"-->
<!-- :label="item.nameCode">-->
<!-- <span style="float: left">{{ item.nameCode }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.packLevel }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通计量层级单位:" prop="distributeLevelUnit" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入流通计量层级单位"-->
<!-- disabled-->
<!-- v-model="editQuery.distributeLevelUnit"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用计量层级标识:" prop="useLevelUnit" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入使用计量层级标识"-->
<!-- disabled-->
<!-- v-model.trim="editQuery.useLevelUnit"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通时含计量单元数量:" prop="distributeLevelCount" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入流通时包含计量单元的数量"-->
<!-- v-model.trim="editQuery.distributeLevelCount"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用时含计量单元数量:" prop="useLeverCount" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入使用时包含计量单元的数量"-->
<!-- v-model.trim="editQuery.useLeverCount"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </div>-->
<!-- </el-collapse-item>-->
</el-collapse>
<div style="text-align: center; margin-top: 12px">
<el-button
type="primary"
size="small"
icon="search"
@click="onAddSubmit(false)"
:loading="onAddLoading"
>提交
</el-button>
<el-button
size="small"
icon="search"
@click="cancelSubmit"
>取消
</el-button>
</div>
</el-form>
<el-dialog
title="耗材字典-从指定系统添加器械信息"
:visible.sync="selectErpDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
append-to-body
v-if="selectErpDialogVisible"
>
<selectErp
:closeDialog="closeDialog"
:uuid="uuid"
:relId="relId"
:isImport="isImport"
:data="thisData"
:defaultSys="defaultSys"
@closeUdi="closeUdi"
:supEnable="false"
></selectErp>
</el-dialog>
<el-dialog
title="耗材字典-编辑"
:visible.sync="editSingleDiDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="45%"
v-if="editSingleDiDialogVisible"
append-to-body
>
<product-single-edit
:editQuery="editSingleFormat"
></product-single-edit>
<div style="text-align: center;margin-top: 12px">
9 months ago
<el-button type="primary" size="small" icon="search" @click="onAddSingleSubmit(false)" :loading="addLoading"
>提交
</el-button>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button>
</div>
</el-dialog>
<el-dialog
title="收费项目选入"
:visible.sync="tollProjectDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="70%"
v-if="tollProjectDialogVisible"
append-to-body
>
<!--<product-single-edit-->
<!-- :editQuery="editSingleFormat"-->
<!--&gt;</product-single-edit>-->
<selectmedicalSuppliesDialog
:getData="getData"
>
</selectmedicalSuppliesDialog>
<!--<div style="text-align: center;margin-top: 12px">-->
<!-- <el-button type="primary" size="small" icon="search" @click="onAddSingleSubmit(false)" :loading="addLoading"-->
<!-- >提交-->
<!-- </el-button>-->
<!-- <el-button type="primary" size="small" icon="search" @click="cancelDialog"-->
<!-- >取消-->
<!-- </el-button>-->
<!--</div>-->
</el-dialog>
</div>
</template>
<script>
import {
getYbHcflDetail,
disableUdi,
removeDiRl,
removeRl,
thirdSysDetail,
updatetSingleUdiInfo, updatetUdiInfos,getCodeRelDetail
} from "@/api/basic/product/udiRelevance";
import {isBlank} from "@/utils/strUtil";
import {filterByUuid, levelByUuid} from "@/api/basic/product/udiInfo";
import ProductSingleEdit from "@/views/basic/product/productSingleEdit";
import selectErp from "./udiInfoselectErpUdi";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect";
import {getListMenu, getOneName} from '@/api/basic/basicHospType'
import {getSupComapnys} from "@/api/purchase/supCompany";
import {getHslbs} from "@/api/thrsys/thrHsfl";
import {filterClassify} from "@/api/purchase/classifyCode"
import selectmedicalSuppliesDialog from "./selectmedicalSuppliesDialog"
import {
addDrug,
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount
} from '@/api/basic/product/drugUdiinfos'
export default {
name: "productEdit",
props: {
editQuery: {
type: Object,
required: true,
},
uuid: {
type: Object,
required: true,
},
relId: {
type: Object,
required: true,
},
thisData: {
type: Object,
required: true,
},
productRemarkSet: {
type: Object,
required: true,
},
relevanceEdit: {
type: Object,
required: true,
},
productType: {
type: Object,
required: true,
},
closePre: {
type: Function,
required: true,
},
},
data() {
return {
loading: false,
ybHcflDetail: {},
isUseDyCheck: true,
useNumEnable: true,
sysList: [],
detailList: [
// 初始化一个空对象或包含默认值的对象
{
productId: null,
nameCode: '',
packLevel: null,
bhxjsl: null,
isDisabled: false,
isUpDisabled: true,
rowDisabled: false
}
],
fromDeptOptions: [],
hsflOptions: [],
defaultSys: null,
isImport: false,
selectErpDialogVisible: false, //选入ERP产品
editSingleDiDialogVisible: false,
tollProjectDialogVisible: false,
editSingleFormat: {
uuid: null,
relId: null,
sptm: null,
packUnit: null,
measname: null,
nameCode: null
},
classifyList: [],
9 months ago
addLoading: false,
onAddLoading: false,
levelUnitList: [],
maxLevel: 1,
editQuery: {
cpmctymc: null,
bzgg: null,
spmc: null,
measname: null,
manufactory: null,
ybbm: null,
sptm: null,
cpms: null,
productsType: 2,
//高级设置默认开启扫码
status: false,
relId: null,
drugLevelLists: [],
productId: null,
useLevelDi: null,
distributeLevelDi: null,
distributeLevelUnit: null,
useLeverCount: null,
distributeLevelCount: null,
useLevelUnit: null,
distributeLevel: null,
useLevel: null,
majorStatus: 1,
physicType: 3
},
isSave: true,
selectedIndex: null,
}
},
components: {
selectErp,
ProductSingleEdit,
Treeselect,
selectmedicalSuppliesDialog
},
2 years ago
created() {
this.useMutiChange(true)
this.getThirdSysDetail();
if (this.editQuery.isDateBy == 1) {
this.editQuery.recentDateTime = this.editQuery.recentDateTime / 24;
}
if (this.editQuery.distributeMaxLevel == null) {
this.editQuery.distributeMaxLevel = 1
}
if (this.editQuery.useMaxLevel == null) {
this.editQuery.useMaxLevel = 1
}
this.getTreeselect();
let ttquery = {
id: this.relevanceEdit.id
}
this.getDetailList(ttquery);
if (this.editQuery.basicPrductRemak8 != null) {
this.findHsflMethod(this.editQuery.basicPrductRemak8);
}
this.classifySearch("")
this.getDiLevel()
2 years ago
},
methods: {
distributeLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val);
if (matchingItem) {
this.editQuery.distributeLevelUnit = matchingItem.packUnit;
this.editQuery.distributeLevel = matchingItem.packLevel
}
// calculateDistCount(matchingItem).then((res) => {
// this.editQuery = {
// ...this.editQuery,
// distributeLevelCount: res.data.distributeLevelCount,
// }
// })
},
useLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val);
if (matchingItem) {
this.editQuery.useLevelUnit = matchingItem.packUnit;
this.editQuery.useLevel = matchingItem.packLevel;
}
// calculateUseCount(matchingItem).then((res) => {
// this.editQuery = {
// ...this.editQuery,
// useLeverCount: res.data.useLeverCount,
// }
// })
},
classifyChange() {
this.classifyChange(this.editQuery.flbm)
let item = this.classifyList.find(item => item.code == this.editQuery.flbm)
if (item != null) this.editQuery.requireScanCode = item.requireScanCode;
},
classifySearch(key) {
let query = {
key: key,
}
filterClassify(query)
.then(response => {
this.loading = false;
this.classifyList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.classifyList = [];
});
},
getYbHcData() {
let query = {
specificationCode: this.editQuery.ybbm
};
getYbHcflDetail(query).then((response) => {
if (response.code == 20000) {
this.ybHcflDetail = response.data
this.editQuery.catalogname1 = this.ybHcflDetail.catalogname1
this.editQuery.catalogname2 = this.ybHcflDetail.catalogname2
this.editQuery.catalogname3 = this.ybHcflDetail.catalogname3
this.editQuery.matrial = this.ybHcflDetail.matrial
this.$forceUpdate();
} else {
this.editQuery.catalogname1 = ""
this.editQuery.catalogname2 = ""
this.editQuery.catalogname3 = ""
this.editQuery.matrial = ""
this.$forceUpdate();
}
}).catch(() => {
})
},
addDrugLevel() {
console.log('this.detailList',this.detailList)
this.detailList.push({
nameCode: '',
packLevel: null,
bhxjsl: null,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
})
this.editQuery.productId = null
this.selectedIndex = this.detailList.length - 1
this.isSave = false
},
onClose() {
this.$emit("onClose")
},
diableChange() {
let query = {
relId: this.pId
}
disableUdi(query)
.then((response) => {
if (response.code != 20000) {
this.editQuery.isDisable = false;
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
handleChange() {
if (this.editQuery.recentDateTime > 30) {
this.$message.error("近效期预警时间必须小于等于30");
this.editQuery.recentDateTime = 30;
}
if (this.editQuery.recentDateTime < 0) {
this.$message.error("近效期预警时间必须大于等于0");
this.editQuery.recentDateTime = 0;
}
},
addSelectErp(row) {
this.defaultSys = row.sysId;
this.isImport = false;
this.selectErpDialogVisible = true;
},
removeDi() {
this.$confirm("此操作将解除该绑定DI器械信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
relId: this.editQuery.id,
};
removeDiRl(query)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "解绑成功!",
});
this.$emit("closePre", true);
this.cancelDialog();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
cancelDialog() {
this.editSingleDiDialogVisible = false;
},
singleDiEdit(val) {
let temp = val;
this.editSingleFormat.uuid = temp.uuid;
this.editSingleFormat.id = temp.id;
this.editSingleFormat.sptm = temp.sptm;
this.editSingleFormat.packUnit = temp.packUnit;
this.editSingleFormat.measname = temp.measname;
this.editSingleFormat.nameCode = temp.nameCode;
this.editSingleFormat.cpmctymc = temp.cpmctymc;
this.editSingleDiDialogVisible = true;
},
onAddSingleSubmit() {
9 months ago
this.addLoading = true
updatetSingleUdiInfo(this.editSingleFormat)
.then((response) => {
9 months ago
this.addLoading = false
if (response.code == 20000) {
let ttquery = {
id: this.relevanceEdit.id
}
this.getDetailList(ttquery);
this.editSingleDiDialogVisible = false;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
9 months ago
this.addLoading = false
this.cancelDialog();
});
},
removeErp(row) {
this.$confirm("此操作将解除该绑定产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
relId: this.relId,
thirdSys: row.sysId
};
removeRl(query)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
this.getThirdSysDetail();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
useDyCheckChange(val) {
this.editQuery.useNum = 0;
},
useDyCountChange(val) {
if (val) {
this.editQuery.useNum = this.editQuery.zxxsbzbhsydysl;
} else {
this.editQuery.useNum = 0;
}
},
getThirdSysDetail() {
let query = {
id: this.relevanceEdit.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
this.resetThirdId();
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
},
resetThirdId() {
this.sysList.forEach((item) => {
if (item.sysId === "thirdId") {
this.editQuery.thirdId = item.thirdId;
} else if (item.sysId === "thirdId1") {
this.editQuery.thirdId1 = item.thirdId;
} else if (item.sysId === "thirdId2") {
this.editQuery.thirdId2 = item.thirdId;
} else if (item.sysId === "thirdId3") {
this.editQuery.thirdId3 = item.thirdId;
} else if (item.sysId === "thirdId4") {
this.editQuery.thirdId4 = item.thirdId;
}
})
},
getDetailList(detailQuery) {
console.log('detailQuery',detailQuery)
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.loading = false;
this.detailList = response.data || [];
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
useMutiChange(val) {
if (val) {
this.useNumEnable = false;
// this.editQuery.useNum = this.editQuery.zxxsbzbhsydysl;
if (!isBlank(this.editQuery.zxxsbzbhsydysl)) {
if (this.editQuery.zxxsbzbhsydysl > 0) {
this.isUseDyCheck = true;
}
}
} else {
this.useNumEnable = true;
this.editQuery.useNum = 0;
}
},
closeDialog() {
this.selectErpDialogVisible = false;
},
closeUdi(val) {
this.selectErpDialogVisible = false;
this.getThirdSysDetail();
},
groupBuyChange() {
if (this.editQuery.groupBuy == true) {
this.editQuery.dispatch = true;
} else {
this.editQuery.dispatch = false;
}
},
getTreeselect() {
getOneName().then(res => {
const menu = {id: res.data.id, code: res.data.code, name: res.data.name, children: []};
getListMenu({}).then(response => {
this.fromDeptOptions = [];
menu.children = this.handleTree(response.data, "code", "parentCode");
console.log(menu)
this.fromDeptOptions.push(menu);
});
})
},
setZdcfsycs() {
if (this.editQuery.useMuti == false) {
this.editQuery.useNum = 0;
}
},
findHsflMethod(query) {
this.hsflOptions = [];
let cQuery = {
key: query,
page: 1,
limit: 20
};
getHslbs(cQuery)
.then((response) => {
this.loading = false;
this.hsflOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
});
}
,
/** 转换菜单数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.code,
label: node.name,
children: node.children
};
},
/**
* 选择收费项目
*/
selectPayFeecode() {
this.tollProjectDialogVisible = true
},
getData(data) {
this.tollProjectDialogVisible = false
this.editQuery.payFeeCode = data.medCatalogCode
},
onAddSubmit(relSubmit) {
this.editQuery.relSubmit = relSubmit;
7 months ago
this.editQuery.splitEnable = true;
this.editQuery.autoCode = true;
this.onAddLoading = true
updatetUdiInfos(this.editQuery)
.then((response) => {
this.onAddLoading = false
if (response.code == 20000) {
this.$emit("closePre", true);
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.onAddLoading = false
this.$emit("closePre", true);
});
},
cancelSubmit() {
this.$emit("closePre", true);
},
getDiLevel() {
let query = {
id: this.relId
}
this.loading = true
levelByUuid(query)
.then((response) => {
this.loading = false
this.levelUnitList = response.data || []
this.findMaxLevelObject()
})
.catch(() => {
this.loading = false
this.levelUnitList = []
})
},
findMaxLevelObject() {
this.maxLevel = 1;
for (const obj of this.levelUnitList) {
if (obj.packLevel > this.maxLevel) {
this.maxLevel = Number(obj.packLevel);
}
}
},
handleDetail(row) {
this.editQuery = row;
}, //层级保存
levelSave(row) {
if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空')
return
}
if (isBlank(row.packLevel)) {
this.$message.error('包装级别不能为空')
return
}
if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空')
return
}
let editQuery = {
nameCode: row.nameCode,
packLevel: row.packLevel,
packUnit: row.packUnit,
sjcpbm: row.sjcpbm,
bhxjcpbm: row.bhxjcpbm,
bhxjsl: row.bhxjsl,
relId: this.editQuery.id,
uuid: this.editQuery.uuid,
productId: row.productId,
diType: row.diType,
xjdw: row.xjdw
}
updateLevelDrug(editQuery).then(res => {
this.saveLoading = false
if (res.code == 20000) {
this.isSave = true
this.$message.success('保存成功!')
this.selectedIndex = null
this.getDetailList()
this.getDiLevel();
//如果都为空 进行补充
if (!this.$isNotBlank(this.editQuery.sptm) && !this.$isNotBlank(this.editQuery.ybbm)) {
getCodeRelDetail({drugcode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (this.response.data != null && this.response.data.length > 0) {
this.editQuery.sptm = this.response.data[0].sptm;
this.editQuery.ybbm = this.response.data[0].ybbm;
}
}
}).catch(() => {
})
}
} else {
this.isSave = true
this.$message.error(res.message)
}
})
},
rowChange(index, val) {
console.log("rowChange===",index)
this.selectedIndex = index
this.isSave = false
},
deleteLevel(index, row) {
this.$confirm('此操作将删除该层级,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (row.id != null) {
let params = {nameCode: row.nameCode}
console.log('params',params)
delDrugLevel(params).then((res) => {
if (res.code === 20000) {
this.isSave = true
this.$message.success('删除成功')
this.getDetailList()
}
})
} else {
this.isSave = true
this.detailList.splice(index, 1)
this.$message.success('删除成功')
}
}).catch(() => {
})
},
},
directives: {
'debounce-input': {
inserted(el, binding) {
let timeout
el.addEventListener('input', () => {
clearTimeout(timeout)
timeout = setTimeout(() => {
binding.value()
}, parseInt(binding.arg) || 300)
})
}
}
}
}
</script>
<style scoped>
.vue-treeselect--searchable:not(.vue-treeselect--disabled) .vue-treeselect__value-container {
cursor: text;
width: 500px;
}
.form-title2 {
font-size: 16px;
font-family: Noto Sans SC;
font-weight: bold;
color: #303133;
}
.el-divider {
margin: 6px 0px 8px 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.sptext {
font-size: 13px;
font-weight: normal;
}
</style>