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

1170 lines
40 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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="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" highlight-current-row
@current-change="handleDetail">
<el-table-column label="产品最小销售标识" prop="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column label="物资名称" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="包装单位" prop="packUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="180px">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="singleDiEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</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: 80%"
size="small"
splaceholder="请输入内容"
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"
splaceholder="请输入内容"
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"
splaceholder="请输入内容"
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"
splaceholder="请输入内容"
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"
splaceholder="请输入内容"
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"
splaceholder="请输入内容"
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,'')"
splaceholder="请输入内容"
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,'')"
splaceholder="请输入内容"
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
placeholder="请选择物价类别"
: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="请选择"
:remote-method="classifySearch"
: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>
</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.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>
<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>
</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">
<el-button type="primary" size="small" icon="search" @click="onAddSingleSubmit(false)"
>提交
</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} from "@/api/basic/product/udiRelevance";
import {isBlank} from "@/utils/strUtil";
import {filterByUuid} 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"
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: [],
fromDeptOptions: [],
hsflOptions: [],
defaultSys: null,
isImport: false,
selectErpDialogVisible: false, //选入ERP产品
editSingleDiDialogVisible: false,
editSingleFormat: {
uuid: null,
relId: null,
sptm: null,
packUnit: null,
measname: null,
nameCode: null
},
classifyList: [],
}
},
components: {
selectErp,
ProductSingleEdit,
Treeselect
},
created() {
this.useMutiChange(true)
this.getThirdSysDetail();
if (this.editQuery.isDateBy == 1) {
this.editQuery.recentDateTime = this.editQuery.recentDateTime / 24;
}
this.getTreeselect();
let ttquery = {
id: this.relevanceEdit.id
}
this.getDetailList(ttquery);
if (this.editQuery.basicPrductRemak8 != null) {
this.findHsflMethod(this.editQuery.basicPrductRemak8);
}
this.classifySearch()
},
methods: {
classifyChange(){
this.editQuery.requireScanCode = this.classifyList.find(item => item.code == this.editQuery.flbm).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(() => {
})
},
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() {
updatetSingleUdiInfo(this.editSingleFormat)
.then((response) => {
if (response.code == 20000) {
let ttquery = {
id: this.relevanceEdit.id
}
this.getDetailList(ttquery);
this.editSingleDiDialogVisible = false;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
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) {
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
};
},
},
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;
}
.el-divider {
margin: 6px 0px 8px 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.sptext {
font-size: 13px;
font-weight: normal;
}
</style>