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.
spms-vue/src/views/basic/UdiInfoManage.vue

1388 lines
55 KiB
Vue

<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" size="mini">
<el-row style="width: 1000px">
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.udiCode"
style="width: 600px"
placeholder="请扫描或输入UDI码"
clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.unionCode" placeholder="DI/医保编码/商品条码"
clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.cpmctymc" placeholder="产品通用名" clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ggxh" placeholder="规格型号" clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.filterType" placeholder="请选择过滤对照条件">
<el-option
v-for="item in filterList"
:key="item.filterType"
:label="item.sysName"
:value="item.filterType">
<span style="float: left">{{ item.sysName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产企业/注册备案人"
clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.thrPiId" placeholder="第三方产品编码" clearable="true"></el-input>
</el-form-item>
<!-- <el-form-item class="query-form-item" v-if="isSpCombine">-->
<!-- <el-select v-model="filterQuery.lockStatus" placeholder="审核状态">-->
<!-- <el-option label="全部" value=""></el-option>-->
<!-- <el-option label="未提交" value="1"></el-option>-->
<!-- <el-option label="已提交" value="2"></el-option>-->
<!-- <el-option label="已锁定" value="3"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="submit">查询</el-button>
<el-button type="primary" icon="search" @click="intentDetail"
>关联添加
</el-button>
<el-button type="primary" icon="search" @click="intentImportUdi"
>添加DI信息
</el-button
>
<el-button type="primary" icon="search" @click="intentImportErp"
>添加产品信息
</el-button
>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
key="1"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55"></el-table-column>-->
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="最小销售产品标识"
prop="nameCode"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="主系统产品编码"
prop="mainId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生产企业"
prop="ylqxzcrbarmc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品通用名"
prop="cpmctymc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
show-overflow-tooltip
></el-table-column>
<!--<el-table-column-->
<!--label="ERP产品ID"-->
<!--prop="thirdId"-->
<!--show-overflow-tooltip-->
<!--&gt;</el-table-column>-->
<!--<el-table-column-->
<!--label="ERP产品名称"-->
<!--prop="thirdName"-->
<!--show-overflow-tooltip-->
<!--&gt;</el-table-column>-->
<el-table-column
label="注册/备案凭证"
prop="zczbhhzbapzbh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="器械类别"
prop="qxlb"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column-->
<!-- v-if="isSpCombine"-->
<!-- label="审核状态"-->
<!-- prop="lockStatus"-->
<!-- show-overflow-tooltip-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- {{ lockStatusMap[scope.row.lockStatus] }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column width="200" label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
:disabled="scope.row.thirdId == null || scope.row.thirdId == '' || scope.row.flbm!=null"
@click.native.stop="intentSelectUdi(scope.row)"
>关联DI
</el-button>
<!--<el-button-->
<!--type="text"-->
<!--size="small"-->
<!--@click.native.stop="intentSelectErp(scope.row)"-->
<!--&gt;关联ERP-->
<!--</el-button>-->
<!--:disabled="scope.row.tyshxydm == null"-->
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
title="产品信息编辑"
:visible.sync="editDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="70%"
v-if="editDialogVisible"
>
<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="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="addSelectErp(scope.row)"
:disabled="scope.row.thirdId==editQuery.nameCode"
>关联
</el-button
>
<el-button type="text" size="small" @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"
@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="bzcj"
show-overflow-tooltip
></el-table-column>
</el-table>
</el-card>
<el-form
:model="editQuery"
:rules="rules"
ref="editQuery"
label-width="100px"
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="false"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
v-model="editQuery.manufactory"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>当前版本号:&nbsp;</span>
</div>
<el-input
style="width: 35%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.versionNumber"
></el-input>
<el-button type="text" size="small" @click.native.stop="selectVersion()"
style="margin-left: 5%"
>切换版本
</el-button>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
</el-col>
<el-col :span="4" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag"
:disabled="!isUseDyCheck"
>以使用单元数量入库
</el-checkbox>
</el-form-item>
</el-col>
<!-- <el-col :span="3" class="el-col">-->
<!-- <el-form-item prop="name">-->
<!-- <el-checkbox v-model="editQuery.isLock" class="text item itemTag"-->
<!-- >是否锁定-->
<!-- </el-checkbox>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="3" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="editQuery.isDisable" class="text item itemTag"
@change="diableChange"
>是否禁用
</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="3" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="editQuery.isAdavence" class="text item itemTag"
>是否寄售
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button>
</div>
</el-dialog>
<el-dialog
title="关联添加器械信息"
:visible.sync="selectUdiDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectUdiDialogVisible"
>
<selectUdi @closeUdi="closeUdi" :isImportUdi="isImportUdi"></selectUdi>
</el-dialog>
<el-dialog
title="从指定系统添加器械字典"
:visible.sync="selectErpDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
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="添加DI器械信息"
:visible.sync="selectLocalVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectLocalVisible"
>
<selectLocalUdi
:closeDialog="closeDialog"
:relId="relId"
:isImportUdi="isImportUdi"
:data="thisData"
@closeUdi="closeUdi"
></selectLocalUdi>
</el-dialog>
<el-dialog
title="选择DI版本"
:visible.sync="selectVersionVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectVersionVisible"
>
<selectUdiVersion
:closeDialog="closeDialog"
:relId="relId"
:uuid="uuid"
:originUuid="originUuid"
@closeUdi="closeUdi"
></selectUdiVersion>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</el-card>
</div>
</template>
<script>
import {
getUdiInfos,
deletetUdiInfos,
updatetUdiInfos,
updateErpProduct,
uploadSmp,
thirdSysDetail,
removeRl, sysFilter, spcombie, lockStatus, removeDiRl, disableUdi
} from "../../api/basic/udiRelevance";
import {selectSysParamByKey} from "../../api/param/systemParamConfig";
import {filterByUuid} from "../../api/basic/udiInfo";
import selectUdi from "./UdiInfoRelevance.vue";
import selectErp from "./UdiInfoselectErpUdi";
import selectLocalUdi from "./UdiInfoSelectLocalUdi";
import selectUdiVersion from "./UdiinfoSelectVersion";
export default {
data() {
return {
filterQuery: {
lockStatus: null,
unionCode: null,
udiCode: null,
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
ggxh: null,
page: 1,
limit: 20,
addType: 1,
thrPiId: null,
filterType: null,
},
productType: null,
editQuery: null,
relevanceEdit: {
id: null,
thirdId: "",
isDisable: null,
isUseDy: false,
isLock: null,
isAdavence: null,
},
defaultSys: null,
isImport: false,
isImportUdi: false,
isUploadSmp: false,
isSpCombine: false,
isImportFile: false,
uploadFileUrl: null,
checked: false,
list: [],
detailList: [],
sysList: [],
filterList: [],
total: 0,
thirdNo: "",
uuid: "111",
originUuid: null,
thirdId: null,
relId: "",
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null
},
multipleSelection: [],
editDialogVisible: false, //详情
selectUdiDialogVisible: false, //关联选入
selectErpDialogVisible: false, //选入ERP产品
selectVersionVisible: false,
selectLocalVisible: false, //关联UDI
isUseDyCheck: false,
lockStatusMap: {1: "未提交", 2: "已提交", 3: "已锁定"},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
lockStatus: null,
unionCode: null,
udiCode: null,
ylqxzcrbarmc: "",
cpmctymc: "", thrPiId: null,
nameCode: "",
ggxh: null,
page: 1,
limit: 20,
addType: 1,
};
this.getList();
},
submit() {
this.loading = true;
this.filterQuery.page = 1;
this.getList();
},
getList() {
getUdiInfos(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
diableChange() {
let query = {
relId: this.editQuery.id
}
disableUdi(query)
.then((response) => {
if (response.code != 20000) {
this.editQuery.isDisable = false;
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
keyup_submit(event) {
this.filterQuery.page = 1;
this.getList();
event.target.select();
},
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.isUseDyCheck = false;
this.loading = false;
this.detailList = response.data || [];
this.detailList.forEach((item, index, array) => {
if (item.zxxsbzbhsydysl > 1) {
this.isUseDyCheck = true;
}
});
this.productType = this.detailList[0].productType;
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
handleDetail(row) {
this.editQuery = row;
console.log(row);
},
selectVersion() {
this.selectVersionVisible = true;
this.uuid = this.editQuery.uuid;
this.originUuid = this.editQuery.originUuid;
this.relId = this.editQuery.id;
},
deleteOrders(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deletetUdiInfos(tquery)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
},
intentDetail() {
this.isImportUdi = false;
this.selectUdiDialogVisible = true;
},
addSelectErp(row) {
this.defaultSys = row.sysId;
this.isImport = false;
this.selectErpDialogVisible = true;
},
removeErp(row) {
this.$confirm("此操作将解除该绑定产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
relId: this.editQuery.id,
thirdSys: row.sysId
};
removeRl(query)
.then((response) => {
if (response.code == 20000) {
this.getThirdSysDetail()();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
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.getList();
this.cancelDialog();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
intentSelectErp(val) {
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = false;
this.thisData = val;
this.selectErpDialogVisible = true;
},
intentImportErp(val) {
this.defaultSys = null;
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = true;
this.thisData = val;
this.selectErpDialogVisible = true;
},
uploadSMP() {
var selectData = this.multipleSelection;
var keys = [];
selectData.forEach((obj) => {
keys.push(obj.id);
});
var tquery = {
keys: keys,
};
uploadSmp(tquery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "上传成功!",
});
} else {
this.$message({
type: "error",
message: response.message,
});
}
})
.catch(() => {
this.$message({
type: "error",
message: "上传失败",
});
});
},
intentSelectUdi(val) {
this.relId = val.id;
this.isImportUdi = true;
this.thisData = val;
console.log("-----" + this.uuid + "-2222--" + this.relId);
this.selectLocalVisible = true;
},
intentImportUdi() {
this.relId = null;
this.selectLocalVisible = true;
},
handleSelectionChange(val) {
console.log("----" + val);
this.multipleSelection = val;
},
cancelDialog() {
this.editDialogVisible = false;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
handleModifyClick(row) {
this.uuid = row.uuid;
this.relId = row.id;
this.isImport = false;
this.thisData = row;
this.editDialogVisible = true;
this.editQuery = row;
this.relevanceEdit = {
id: row.id,
// thirdId: row.thirdId,
isUseDy: row.isUseDy,
isDisable: row.isDisable,
isLock: row.isLock,
isAdavence: row.isAdavence,
};
this.checked = row.isUseDy == 1;
let ttquery = {
uuid: row.uuid,
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
this.getDetailList(ttquery);
this.getThirdSysDetail();
},
lockProducts(status) {
let selectData = this.multipleSelection;
let postQuery = {
ids: [],
lockStatus: status,
}
selectData.forEach((row) => {
postQuery.ids.push(row.id);
});
lockStatus(postQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.$message.success(response.data);
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
});
},
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
this.selectVersionVisible = false;
this.getThirdSysDetail();
if (val) {
this.getList();
this.cancelDialog();
}
},
getThirdSysDetail() {
let query = {
id: this.relevanceEdit.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
},
getSysFilter() {
sysFilter()
.then((response) => {
this.loading = false;
this.filterList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.filterList = [];
});
},
uploadErpProduct() {
updateErpProduct()
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: response.data,
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
closeDialog() {
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
this.selectVersionVisible = false;
},
onAddSubmit() {
this.relevanceEdit.isDisable = this.editQuery.isDisable;
this.relevanceEdit.isLock = this.editQuery.isLock;
this.relevanceEdit.isAdavence = this.editQuery.isAdavence;
this.relevanceEdit = this.editQuery;
if (this.checked == true) {
this.relevanceEdit.isUseDy = 1;
} else {
this.relevanceEdit.isUseDy = 0;
}
updatetUdiInfos(this.relevanceEdit)
.then((response) => {
this.loading = false;
this.getList();
this.cancelDialog();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
selectSysParam() {
let query = {
paramKey: "smp_isUploadProuct",
};
spcombie().then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isSpCombine = true;
} else {
this.isSpCombine = false;
}
}
});
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isUploadSmp = true;
} else {
this.isUploadSmp = false;
}
}
});
let query1 = {
paramKey: "upload_pi_file_enabled",
};
selectSysParamByKey(query1).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isImportFile = true;
}
}
});
let query2 = {
paramKey: "upload_pi_file_url",
};
selectSysParamByKey(query2).then((response) => {
if (response.code == 20000) {
this.uploadFileUrl = response.data.paramValue;
}
});
},
},
mounted() {
},
components: {
selectUdi,
selectErp,
selectLocalUdi,
selectUdiVersion,
},
created() {
this.getList();
this.selectSysParam();
this.getSysFilter();
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 25%;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>