阶段性完工,代码备份

master
anthonywj 4 years ago
parent e7c8a95665
commit 8001d6f33f

@ -25,6 +25,14 @@ export function getDetailBasicThirdSys(query) {
});
}
export function filterDetailByKey(query) {
return axios({
url: "/udiwms/basic/thirdsys/filterDetailByKey",
method: "get",
params: query
});
}
export function updateDetailBasicThirdSys(query) {
return axios({

@ -0,0 +1,16 @@
import axios from "../../utils/axios";
export function getIncodeLogs(query) {
return axios({
url: "/udiwms/inv/incode/filter",
method: "get",
params: query
});
}
export function delIncodeLogs(query) {
return axios({
url: "/udiwms/inv/incode/filter",
method: "post",
data: query
});
}

@ -0,0 +1,9 @@
import axios from "../../utils/axios";
export function findApi(query) {
return axios({
url: "/sys/api/findAll",
method: "get",
params: query
});
}

@ -23,3 +23,10 @@ export function delAll(query) {
params: query
});
}
export function downloadAll(query) {
return axios({
url: "/udiwms/thrsys/corp/downloadAll",
method: "get",
params: query
});
}

@ -23,3 +23,11 @@ export function delAll(query) {
params: query
});
}
export function downloadAll(query) {
return axios({
url: "/udiwms/thrsys/invProducts/downloadAll",
method: "get",
params: query
});
}

@ -31,3 +31,11 @@ export function delAll(query) {
params: query
});
}
export function downloadAll(query) {
return axios({
url: "/udiwms/thrsys/orders/downloadAll",
method: "get",
params: query
});
}

@ -23,3 +23,11 @@ export function delAll(query) {
params: query
});
}
export function downloadAll(query) {
return axios({
url: "/udiwms/thrsys/products/downloadAll",
method: "get",
params: query
});
}

@ -14,6 +14,7 @@ import authAdmin from "../views/userManage/admin/authAdmin.vue";
import authRole from "../views/userManage/admin/authRole.vue";
import authPermissionRule from "../views/userManage/admin/authPermissionRule.vue";
import systemParamConfig from "../views/userManage/param/systemParamConfig.vue";
import thirdSysApi from "../views/userManage/param/ThirdSysApi.vue";
//基础数据维护
import BussinessType from "../views/basic/BussinessType.vue";
@ -21,6 +22,7 @@ import basicUnitMaintain from "../views/basic/basicUnitMaintain.vue";
import UdiInfoManage from "../views/basic/UdiInfoManage.vue";
import company from "../views/userManage/param/company.vue";
import thirdSys from "../views/basic/BasicThirdSys.vue"
import UdiInfoSmpUpload from "../views/basic/UdiInfoSmpUpload.vue";
//出入库管理
import inout from "../views/inout/IOFinishOrder.vue";
@ -36,6 +38,7 @@ import erpOrder from "../views/inout/IOErpOrder.vue";
//库存管理
import stockCheck from "../views/inventory/stockCheck.vue";
import onHand from "../views/inventory/OnHand.vue";
import inCodeLog from "../views/inventory/inCodeLog.vue";
import stockPrint from "../views/inventory/stockPrint.vue";
import stockCode from "../views/inventory/stockCode.vue";
@ -162,7 +165,15 @@ export const asyncRouterMap = [
meta: {
authRule: ["admin/systemParamConfig"]
}
},
{
path: "bussinessType",
name: "单据类型",
component: BussinessType,
meta: {
authRule: ["product/bussinessType"]
}
},
]
},
{
@ -170,7 +181,7 @@ export const asyncRouterMap = [
component: Home,
redirect: "/inout/main",
icon: "tongyong",
name: "出入库管理",
name: "单据管理",
noDropdown: false,
meta: {
authRule: ["inout"]
@ -275,15 +286,7 @@ export const asyncRouterMap = [
authRule: ["warehouse/onHand"]
}
},
{
path: "stockPrint",
name: "内部码管理",
component: stockPrint,
meta: {
authRule: ["warehouse/stockPrint"]
}
},
{
path: "stockCheck",
@ -336,14 +339,7 @@ export const asyncRouterMap = [
authRule: ["basic/basicUnitMaintain"]
}
},
{
path: "bussinessType",
name: "单据类型维护",
component: BussinessType,
meta: {
authRule: ["product/bussinessType"]
}
},
{
path: "company",
name: "本企业信息",
@ -412,6 +408,104 @@ export const asyncRouterMap = [
}
},
]
},
{
path: "/smp",
redirect: "/smp/udiInfoSmpUpload",
component: Home,
icon: "tongyong",
name: "供应商平台",
hidden: false,
noDropdown: false,
meta: {
authRule: ["smp"]
},
children: [
{
path: "udiInfoSmpUpload",
name: "产品信息上传",
component: UdiInfoSmpUpload,
meta: {
authRule: ["thrsys/UdiInfoSmpUpload"]
}
},
{
path: "orderSmpUpload",
name: "采购订单上传",
component: UdiInfoSmpUpload,
meta: {
authRule: ["thrsys/UdiInfoSmpUpload"]
}
},
{
path: "orderSmpDl",
name: "送货单下载",
component: UdiInfoSmpUpload,
meta: {
authRule: ["thrsys/UdiInfoSmpUpload"]
}
},
]
},
{
path: "/myCode",
redirect: "/myCode/stockPrint",
component: Home,
icon: "tongyong",
name: "内部码管理",
hidden: false,
noDropdown: false,
meta: {
authRule: ["myCode"]
},
children: [
{
path: "stockPrint",
name: "内部码查询",
component: stockPrint,
meta: {
authRule: ["warehouse/stockPrint"]
}
},
{
path: "inCodeLog",
name: "内部码生成",
component: inCodeLog,
meta: {
authRule: ["warehouse/inCodeLog"]
}
},
]
},
{
path: "/api",
redirect: "/api/thirdSysApi",
component: Home,
icon: "tongyong",
name: "API接口",
hidden: false,
noDropdown: false,
meta: {
authRule: ["api"]
},
children: [
{
path: "thirdSysApi",
name: "基础信息上传",
component: thirdSysApi,
meta: {
authRule: ["api/thirdSysApi"]
}
},
]
},
];

@ -227,6 +227,8 @@
this.cancelDialog();
this.getList();
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
})

@ -1,7 +1,7 @@
<template>
<div>
<el-row :gutter="20" class="el-row" type="flex" align="middle">
<el-col :span="14" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接口名称:&nbsp;</span>
@ -16,9 +16,14 @@
</div>
</el-col>
<el-col :span="6" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<el-checkbox v-model="inputDetailQuery.enabled"></el-checkbox>
<el-radio-group v-model="inputDetailQuery.enabled" style="margin-right: 20px">
<el-radio-button :label="true" size="mini">接口</el-radio-button>
<el-radio-button :label="false" size="mini">文件缓存</el-radio-button>
</el-radio-group>
<el-checkbox :disabled="!inputDetailQuery.enabled" v-model="inputDetailQuery.itrCache">
</el-checkbox>
</div>
</el-col>
</el-row>
@ -37,22 +42,22 @@
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="18" class="el-col">
<div class="text item">
<div class="itemTag">
<span>API接口地址:&nbsp;</span>
</div>
<!--<el-row :gutter="20" class="el-row" type="flex">-->
<!--<el-col :span="18" class="el-col">-->
<!--<div class="text item">-->
<!--<div class="itemTag">-->
<!--<span>API接口地址:&nbsp;</span>-->
<!--</div>-->
<el-input
style="width: 80%"
size="mini"
splaceholder="请输入内容"
v-model="inputDetailQuery.guideUrl"
></el-input>
</div>
</el-col>
</el-row>
<!--<el-input-->
<!--style="width: 80%"-->
<!--size="mini"-->
<!--splaceholder="请输入内容"-->
<!--v-model="inputDetailQuery.guideUrl"-->
<!--&gt;</el-input>-->
<!--</div>-->
<!--</el-col>-->
<!--</el-row>-->
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<div class="text item">

@ -39,7 +39,6 @@
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
@ -65,26 +64,27 @@
show-overflow-tooltip
></el-table-column>
<el-table-column
label="ERP产品ID"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="ERP产品名称"
prop="thirdName"
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="cplb"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="分类编码"
prop="flbm"
@ -187,13 +187,13 @@
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
@ -201,13 +201,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -218,14 +218,15 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -233,124 +234,125 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -358,13 +360,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -374,134 +376,118 @@
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-form-item prop="packRatio">
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.sjcpbm"
@input="change()"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-form-item prop="packLevel">
<el-input
style="width: 200px"
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
</div>
<el-form-item prop="bzcj">
<el-input
style="width: 200px"
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
@input="change()"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-form-item prop="bhxjsl">
<el-input
style="width: 200px"
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-form-item prop="bhxjcpbm">
<el-input
style="width: 200px"
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
@input="change()"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-form-item prop="bhzxxsbzsl">
<el-input
style="width: 200px"
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-form-item prop="zxxsbzbhsydysl">
<el-input
style="width: 200px"
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag"
>以使用单元数量入库
@ -911,7 +897,7 @@
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
width: 25%;
}
.text {

@ -40,6 +40,10 @@
>查询
</el-button
>
<el-button type="primary" size="mini" icon="search" @click="combine"
>确定
</el-button
>
</el-button-group>
</el-form-item>
</el-row>
@ -93,28 +97,18 @@
:total="total"
></el-pagination>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="combine"
>确定
</el-button
>
<el-button type="primary" size="small" icon="search" @click="intentBack"
>取消
</el-button
>
</div>
</div>
</el-card>
<el-card class="el-card" v-if="!isImportUdi" >
<div v-if="!isImport" >
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
size="small"
splaceholder="请输入内容"
:disabled="true"
@ -122,13 +116,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -142,13 +136,13 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -156,13 +150,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
@ -174,13 +168,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -188,13 +182,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -204,13 +198,13 @@
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -218,13 +212,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -237,13 +231,13 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -251,13 +245,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -268,13 +262,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -282,13 +276,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"

@ -0,0 +1,843 @@
<template>
<div>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.cpmctymc" placeholder="产品通用名"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产企业"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.nameCode"
placeholder="最小销售产品标识"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.thirdId" placeholder="ERP产品ID"></el-input>
</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="getList"></el-button>
<el-button type="primary" icon="search" @click="uploadSMP" v-if="isUploadSmp"
>上传供应商平台
</el-button>
<!-- <el-button type="primary" icon="search" @click="uploadErpProduct"
>更新下载ERP存货产品</el-button
> -->
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
@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="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="cplb"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="分类编码"
prop="flbm"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="器械类别"
prop="qxlb"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-dialog
title="产品信息编辑"
:visible.sync="editDialogVisible"
width="70%"
v-if="editDialogVisible"
>
<el-table :data="sysList" style="width: 100%" 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="thirdName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="第三方产品ID"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-table
v-loading="loading"
:data="detailList"
style="width: 100%; margin-top: 20px"
border
@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-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="true"
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="true"
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="true"
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="true"
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%"
:disabled="true"
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%"
:disabled="true"
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="true"
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="true"
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="true"
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="true"
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">
<el-form-item prop="name">
<el-checkbox v-model="checked" 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-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {
getUdiInfos,
deletetUdiInfos,
updatetUdiInfos,
updateErpProduct,
uploadSmp,
thirdSysDetail,
} 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";
export default {
data() {
return {
filterQuery: {
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
},
editQuery: null,
relevanceEdit: {
id: null,
thirdId: "",
isUseDy: false,
},
isImport: false,
isImportUdi: false,
isUploadSmp: false,
isImportFile: false,
uploadFileUrl: null,
checked: false,
list: [],
detailList: [],
sysList: [],
total: 0,
thirdNo: "",
uuid: "111",
thirdId: null,
relId: "",
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null
},
multipleSelection: [],
editDialogVisible: false,
selectUdiDialogVisible: false,
selectErpDialogVisible: false,
selectLocalVisible: false,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
};
this.getList();
},
getList() {
this.loading = true;
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;
});
},
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.loading = false;
this.detailList = response.data || [];
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
handleDetail(row) {
this.editQuery = row;
console.log(row);
},
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;
},
intentSelectErp(val) {
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = false;
this.thisData = val;
this.selectErpDialogVisible = true;
},
intentImportErp(val) {
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);
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.editDialogVisible = true;
this.editQuery = row;
this.relevanceEdit = {
id: row.id,
thirdId: row.thirdId,
isUseDy: row.isUseDy,
};
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();
},
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
if (val) {
this.getList();
}
},
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 = [];
});
},
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;
},
onAddSubmit() {
if (this.checked == true) {
this.relevanceEdit.isUseDy = 1;
} else {
this.relevanceEdit.isUseDy = 0;
}
console.log(this.relevanceEdit.isUseDy);
updatetUdiInfos(this.relevanceEdit)
.then((response) => {
this.loading = false;
this.getList();
this.cancelDialog();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
selectSysParam() {
let query = {
paramKey: "smp_isUploadProuct",
};
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isUploadSmp = true;
}
}
});
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,
},
created() {
this.getList();
this.selectSysParam();
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 25%;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -31,7 +31,13 @@
</el-select>
</el-form-item>
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="search" @click="getErpList"></el-button>
<el-button type="primary" icon="search" @click="combine"
>确定
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table
@ -54,16 +60,6 @@
layout="prev, pager, next"
:total="pageTotal"
></el-pagination>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="combine"
>确定
</el-button
>
<el-button type="primary" size="small" icon="search" @click="intentBack"
>取消
</el-button
>
</div>
</div>
</el-card>
@ -72,13 +68,13 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
@ -86,13 +82,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -104,13 +100,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -118,13 +114,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
@ -136,13 +132,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -150,13 +146,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -166,13 +162,13 @@
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -180,13 +176,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -198,13 +194,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -212,13 +208,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -229,13 +225,13 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -243,13 +239,13 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 200px"
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
@ -423,6 +419,13 @@
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSys.forEach((item, i) => {
console.log(item.thirdId + this.data.thirdSysFk);
if (item.thirdId == this.data.thirdSysFk) {
this.thirdSys.splice(i, 1);
}
});
this.thirdSysFk = this.thirdSys[0].thirdId;
})
.catch(() => {

@ -49,13 +49,6 @@
width="100"
v-if="erpIdColumn"
></el-table-column>
<el-table-column
label="第三方ID"
prop="thirdId"
show-overflow-tooltip
width="100"
v-if="thirdIdColumn"
></el-table-column>
<el-table-column
label="名称"
prop="name"

@ -6,9 +6,16 @@
<el-form :inline="true" :model="erpQuery" style="display: flex" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.customname"
placeholder="搜索"
style="width: 350px"
v-model="erpQuery.unitId"
placeholder="往来单位ID"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.name"
placeholder="往来单位"
clearable
></el-input>
</el-form-item>
@ -48,11 +55,19 @@
<el-card class="el-card">
<div>
<el-form :inline="true" :model="unitQuery" style="display: flex" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="unitQuery.unitId"
placeholder="往来单位编码"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="unitQuery.key"
placeholder="搜索"
style="width: 350px"
v-model="unitQuery.name"
placeholder="往来单位"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
@ -84,7 +99,7 @@
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="往来单位ID" prop="id"></el-table-column>
<el-table-column label="往来单位编码" prop="id"></el-table-column>
<el-table-column
label="往来单位名称"
prop="name"

@ -48,11 +48,19 @@
<el-card class="el-card">
<div>
<el-form :inline="true" :model="unitQuery" style="display: flex" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="unitQuery.key"
placeholder="搜索"
style="width: 350px"
v-model="unitQuery.unitId"
placeholder="往来单位编码"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="unitQuery.name"
placeholder="往来单位"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
@ -70,9 +78,9 @@
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" size="mini" icon="search" @click="combine"
>选入
</el-button>
<!--<el-button type="primary" size="mini" icon="search" @click="combine"-->
<!--&gt;选入-->
<!--</el-button>-->
</el-button-group>
</el-form-item>
</el-form>
@ -84,7 +92,7 @@
style="width: 100%"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="往来单位ID" prop="id"></el-table-column>
<el-table-column label="往来单位编码" prop="id"></el-table-column>
<el-table-column
label="往来单位名称"
prop="name"

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "SelectInvProducts"
}
</script>
<style scoped>
</style>

@ -0,0 +1,315 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.genKey" placeholder="记录ID"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.status" placeholder="处理状态">
<el-option label="全部" value=""></el-option>
<el-option label="处理中" value="0"></el-option>
<el-option label="已处理" value="1"></el-option>
<el-option label="异常" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.fromType" placeholder="数据来源" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="产品信息" value="0"></el-option>
<el-option label="库存信息" value="1"></el-option>
<el-option label="供应商平台提交" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.thirdSysFk" placeholder="请选择第三方系统"
@change="thirdSysChange"
clearable>
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</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="getList"></el-button>
<el-button type="primary" icon="search" @click="genInCode"
>生成内部码
</el-button
>
<!--<el-button-->
<!--type="primary"-->
<!--icon="search"-->
<!--@click="selectErpDialog"-->
<!--:loading="mipsLoading"-->
<!--&gt;更新生产信息</el-button-->
<!--&gt;-->
<!-- <el-button
type="primary"
icon="search"
@click="downloadErp"
:loading="mipsLoading"
>更新库存</el-button
> -->
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="记录ID"
prop="genKey"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="来源"
prop="fromType"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="更新日期"
prop="updateTime"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="来源系统"
prop="thirdSysFk"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="状态"
prop="status"
show-overflow-tooltip
>
<template slot-scope="scope">
<span>{{ printStatus[scope.row.printStatus] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="100">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<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.id)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
title="生成内部码"
:visible.sync="selectBasicUdiVisible"
width="85%"
v-if="selectBasicUdiVisible"
>
<selectBasicUdiInfo :thirdSysFk="filterQuery.thirdSysFk"></selectBasicUdiInfo>
</el-dialog>
<el-dialog
title="生成内部码"
:visible.sync="selectInvProductsVisible"
width="85%"
v-if="selectInvProductsVisible"
>
<selectInvProducts :thirdSysFk="filterQuery.thirdSysFk"></selectInvProducts>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {getIncodeLogs, delIncodeLogs} from "../../api/inventory/inCodelog.js";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import selectBasicUdiInfo from "./selectBasicUdiInfo";
import selectInvProducts from "./SelectInvProducts";
export default {
data() {
return {
filterQuery: {
genKey: null,
status: null,
fromType: null,
page: 1,
limit: 20,
thirdSysFk: null,
},
selectBasicUdiVisible: false,
selectInvProductsVisible: false,
checked: false,
list: [],
detailList: [],
thirdSys: [],
thirdSysDetail: null,
total: 0,
editQuery: null,
printStatus: {
0: "未处理",
1: "已处理",
2: "异常"
},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
fromType: null,
genKey: null,
status: null,
page: 1,
limit: 20,
thirdSysFk: null,
};
this.getList();
},
getList() {
this.loading = true;
getIncodeLogs(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;
});
},
genInCode() {
if (this.filterQuery.fromType == null) {
this.$message.warning("请选择数据来源!");
} else {
if (this.filterQuery.fromType == 0) {
this.selectBasicUdiVisible = true;
} else if (this.filterQuery.fromType == 1) {
this.selectInvProductsVisible = true;
}
}
},
cancelDialog() {
this.selectBasicUdiVisible = false;
this.selectInvProductsVisible = false;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
deleteDialog(rowId) {
this.$confirm("此操作将删除该内部码信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: rowId,
};
delIncodeLogs(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
this.getList();
} else {
this.$message.success(response.message);
}
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {
});
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.filterQuery.thirdSysFk = this.thirdSys[0].thirdId;
this.getList();
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
},
mounted() {
},
components: {selectBasicUdiInfo, selectInvProducts},
created() {
this.getBasicThirdSys();
// this.getList();
},
};
</script>
<style>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -0,0 +1,167 @@
<template>
<div>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.cpmctymc" placeholder="产品通用名"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产企业"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.nameCode"
placeholder="最小销售产品标识"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.thirdId" placeholder="ERP产品ID"></el-input>
</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="getList"></el-button>
<el-button type="primary" icon="search" @click="intentDetail"
>生成内部码
</el-button>
<el-button type="primary" icon="search" @click="intentDetail"
>全部生成
</el-button>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
@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="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="产品类型"
prop="cplb"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="分类编码"
prop="flbm"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="器械类别"
prop="qxlb"
show-overflow-tooltip
></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 == ''"
@click.native.stop="intentSelectUdi(scope.row)"
>关联UDI
</el-button>
<el-button
type="text"
size="small"
@click.native.stop="intentSelectErp(scope.row)"
>关联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>
</div>
</template>
<script>
import {getUdiInfos} from "../../api/basic/udiRelevance";
export default {
name: "selectUdiInfo",
data() {
return {
filterQuery: {
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
},
list: [],
total: 0,
multipleSelection: [],
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
};
this.getList();
},
getList() {
this.loading = true;
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;
});
},
}
}
</script>
<style scoped>
</style>

@ -16,6 +16,18 @@
<el-option label="已打印" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.thirdSysFk" placeholder="请选择第三方系统" @change="thirdSysChange">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</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>
@ -108,11 +120,17 @@
show-overflow-tooltip
></el-table-column>
<el-table-column
label="ERP仓位"
label="仓位"
width="100"
prop="warehouseName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="货位"
width="100"
prop="spaceName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生产企业"
width="230"
@ -276,6 +294,7 @@
deleteStockPrint,
dlErpStock,
} from "../../api/inventory/stockPrint.js";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import importErpOrder from "../inout/DialogImportErpOrder";
export default {
@ -287,12 +306,15 @@
printStatus: null,
page: 1,
limit: 20,
thirdSysFk: null,
},
editDialogVisible: false,
importDialogVisible: false,
checked: false,
list: [],
detailList: [],
thirdSys: [],
thirdSysDetail: null,
total: 0,
editQuery: null,
printStatus: {
@ -311,6 +333,7 @@
udiCode: null,
thirdId: null,
printStatus: null,
thirdSysFk:null,
page: 1,
limit: 20,
};
@ -332,8 +355,15 @@
},
updateStockPrint() {
if(this.filterQuery.thirdSysFk == null || this.filterQuery.thirdSysFk==""){
this.$message.warning("请选择需要更新的信息来源系统!");
return;
}
this.loading = true;
updateStockPrint()
let query={
thirdSysFk:this.filterQuery.thirdSysFk
};
updateStockPrint(query)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
@ -431,12 +461,28 @@
this.total = 0;
});
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.filterQuery.thirdSysFk = this.thirdSys[0].thirdId;
this.getList();
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
},
mounted() {
},
components: {importErpOrder},
created() {
this.getList();
this.getBasicThirdSys();
// this.getList();
},
};
</script>

@ -5,17 +5,19 @@
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.unitId"
placeholder="往来单位ID"
placeholder="往来单位编码"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.name"
placeholder="往来单位"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统">
<el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange">
<el-option
v-for="item in thirdSys"
:key="item.value"
@ -30,8 +32,11 @@
<el-button-group style="display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="clearAll"></el-button>
<el-button type="primary" icon="search" @click="clearAll"
v-if="!this.thirdSysDetail.enabled">清空全部
</el-button>
<el-upload
v-if="!this.thirdSysDetail.enabled"
:action="uploadFileUrl"
multiple
:limit="3"
@ -42,6 +47,9 @@
>
<el-button size="mini" type="primary">导入往来单位</el-button>
</el-upload>
<el-button type="primary" icon="search" @click="downloadDatas"
v-if="this.thirdSysDetail.enabled && this.thirdSysDetail.itrCache">导入往来单位
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -74,9 +82,9 @@
<script>
import {
getCorps, delCorps, delAll
getCorps, delCorps, delAll, downloadAll
} from "../../api/thrsys/thrCorps";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {getBasicThirdSys, filterDetailByKey} from "../../api/basic/basicThirdSys";
import {ucloudUnit} from "../../api/basic/basicUnitMaintain";
import {selectIp} from "../../api/param/systemParamConfig";
@ -84,8 +92,8 @@
data() {
return {
filterQuery: {
inventoryCode: null,
inventoryName: null,
unitId: null,
name: null,
thirdSys: null,
page: 1,
limit: 20,
@ -93,6 +101,7 @@
total: 0,
list: [],
thirdSys: [],
thirdSysDetail: null,
uploadFileUrl: null,
fileList: [],
uploadData: {
@ -107,8 +116,8 @@
path: "",
});
this.filterQuery = {
inventoryCode: null,
inventoryName: null,
unitId: null,
name: null,
thirdSys: null,
page: 1,
limit: 20,
@ -198,6 +207,7 @@
this.thirdSys = response.data.list || [];
this.filterQuery.thirdSys = this.thirdSys[0].thirdId;
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
this.selectSysParam();
this.getList();
})
@ -228,6 +238,35 @@
},
thirdSysChange() {
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
},
getThirdSysDetail() {
let query = {
thirdSysFk: this.filterQuery.thirdSys,
key: "corpUrl",
};
filterDetailByKey(query)
.then((response) => {
this.thirdSysDetail = response.data;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
downloadDatas() {
let query = {
thirdSysFk: this.filterQuery.thirdSys
};
downloadAll(query).then((response) => {
if (response.code == 20000) {
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
});
},
},
components: {},

@ -29,8 +29,11 @@
<el-button-group style="display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="clearAll"></el-button>
<el-button type="primary" icon="search" @click="clearAll"
v-if="!this.thirdSysDetail.enabled">清空全部
</el-button>
<el-upload
v-if="!this.thirdSysDetail.enabled"
:action="uploadFileUrl"
multiple
:limit="3"
@ -41,6 +44,9 @@
>
<el-button size="mini" type="primary">导入库存产品信息</el-button>
</el-upload>
<el-button type="primary" icon="search" @click="downloadDatas"
v-if="this.thirdSysDetail.enabled && this.thirdSysDetail.itrCache">导入库存产品信息
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -75,9 +81,9 @@
<script>
import {
getInvProducts, delInvProducts, delAll
getInvProducts, delInvProducts, delAll, downloadAll
} from "../../api/thrsys/thrInvProducts";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {getBasicThirdSys, filterDetailByKey} from "../../api/basic/basicThirdSys";
import {selectIp} from "../../api/param/systemParamConfig";
import {getOnhands} from "../../api/inventory/onHand.js";
@ -94,6 +100,7 @@
total: 0,
list: [],
thirdSys: [],
thirdSysDetail: null,
fileList: [],
uploadData: {
thirdSys: "thirdId",
@ -207,6 +214,7 @@
this.thirdSys = response.data.list || [];
this.filterQuery.thirdSys = this.thirdSys[0].thirdId;
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
this.selectSysParam();
this.getList();
})
@ -228,6 +236,35 @@
},
thirdSysChange() {
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
},
getThirdSysDetail() {
let query = {
thirdSysFk: this.filterQuery.thirdSys,
key: "invPiUrl",
};
filterDetailByKey(query)
.then((response) => {
this.thirdSysDetail = response.data;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
downloadDatas() {
let query = {
thirdSysFk: this.filterQuery.thirdSys
};
downloadAll(query).then((response) => {
if (response.code == 20000) {
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
});
},
},
components: {},

@ -7,14 +7,19 @@
<el-input
v-model="filterQuery.billNo"
placeholder="单据号"
clearable
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.billAction" placeholder="业务类型">
<el-option label="采购入库" value="PurchaseWareHouseIn"></el-option>
<el-option label="销售出库" value="SalesWareHouseOut"></el-option>
<el-option label="退货出库" value="ReturnWareHouseOut"></el-option>
<el-option label="退货入库" value="ReturnWareHouseIn"></el-option>
<el-select v-model="filterQuery.billAction" placeholder="请选择业务类型">
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
@ -35,6 +40,7 @@
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="clearAll"></el-button>
<el-upload
v-if="!this.thirdSysDetail.enabled"
:action="uploadFileUrl"
multiple
:limit="3"
@ -43,8 +49,11 @@
:on-success="handleChange"
:file-list="fileList"
>
<el-button size="mini" type="primary">导入产品信息</el-button>
<el-button size="mini" type="primary">导入业务单据</el-button>
</el-upload>
<el-button type="primary" icon="search" @click="downloadDatas"
v-if="this.thirdSysDetail.enabled && this.thirdSysDetail.itrCache">导入业务单据
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -82,7 +91,7 @@
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" prop="productDate"></el-table-column>
<el-table-column label="失效日期" prop="expireDate"></el-table-column>
<el-table-column label="应收数量" prop="reCount"></el-table-column>
<el-table-column label="单据数量" prop="reCount"></el-table-column>
<el-table-column label="实际数量" prop="count"></el-table-column>
</el-table>
</el-card>
@ -90,9 +99,10 @@
</template>
<script>
import {
getThrOrders, delThrOrders, getThrOrderDetails, delAll
delThrOrders, delAll,downloadAll
} from "../../api/thrsys/thrOrder";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {getBussinessType} from "../../api/basic/bussinessType";
import {getBasicThirdSys,filterDetailByKey} from "../../api/basic/basicThirdSys";
import {selectIp} from "../../api/param/systemParamConfig";
import {
getCloudErp,
@ -109,6 +119,8 @@
},
total: 0,
thirdSys: [],
thirdSysDetail: null,
busTypes: [],
list: [],
detailList: [],
uploadFileUrl: null,
@ -126,7 +138,7 @@
});
this.filterQuery = {
billNo: "",
thirdSys: "",
thirdSysFk: "",
billFlag: null,
billAction: "PurchaseWareHouseIn",
startDate: null,
@ -152,21 +164,24 @@
});
},
handleDetail(row) {
let query = {
orderIdFk: row.id
};
this.loading = true;
getThrOrderDetails(query)
.then((response) => {
this.loading = false;
this.detailList = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
this.detailList = row.subErpOrders;
// console.log(row.billNo);
// let query = {
// orderIdFk: row.id
// };
// this.loading = true;
// getThrOrderDetails(query)
// .then((response) => {
// this.loading = false;
// this.detailList = response.data.list || [];
// this.total = response.data.total || 0;
// })
// .catch(() => {
// this.loading = false;
// this.list = [];
// this.total = 0;
// });
},
deleteDialog(row) {
this.$confirm("此操作将永久删除该单据, 是否继续?", "提示", {
@ -185,7 +200,7 @@
this.$message.success("删除成功");
this.getList();
} else {
this.$message.success(response.message);
this.$message.error(response.message);
}
})
.catch(() => {
@ -231,6 +246,7 @@
this.filterQuery.thirdSysFk = this.thirdSys[0].thirdId;
this.uploadData.thirdSys = this.filterQuery.thirdSysFk;
this.selectSysParam();
this.getThirdSysDetail();
this.getList();
})
.catch(() => {
@ -264,6 +280,47 @@
},
thirdSysChange() {
this.uploadData.thirdSys = this.filterQuery.thirdSysFk;
this.getThirdSysDetail();
},
getThirdSysDetail() {
let query = {
thirdSysFk: this.filterQuery.thirdSysFk,
key: "orderQueryUrl",
};
filterDetailByKey(query)
.then((response) => {
this.thirdSysDetail = response.data;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
downloadDatas() {
let query = {
billAction: this.filterQuery.billAction
};
downloadAll(query).then((response) => {
if (response.code == 20000) {
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
});
},
getBusType() {
let query = {
enabled: true,
};
getBussinessType(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.billAction = this.busTypes[0].action;
})
.catch(() => {
});
},
},
@ -272,6 +329,7 @@
},
created() {
this.getBasicThirdSys();
this.getBusType();
},
};
</script>

@ -33,6 +33,7 @@
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="clearAll"></el-button>
<el-upload
v-if="!this.thirdSysDetail.enabled"
:action="uploadFileUrl"
multiple
:limit="3"
@ -43,6 +44,10 @@
>
<el-button size="mini" type="primary" >导入产品信息</el-button>
</el-upload>
<el-button type="primary" icon="search" @click="downloadDatas"
v-if="this.thirdSysDetail.enabled && this.thirdSysDetail.itrCache">导入产品信息
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -86,10 +91,10 @@
</template>
<script>
import {
getThrProducts, delThrProducts, delAll
getThrProducts, delThrProducts, delAll, downloadAll
} from "../../api/thrsys/thrProducts";
import {getInvbasdoc} from "../../api/basic/getErps";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {getBasicThirdSys, filterDetailByKey} from "../../api/basic/basicThirdSys";
import {selectIp} from "../../api/param/systemParamConfig";
import thrProductsDetail from "./ThrProductsDetail";
@ -105,6 +110,7 @@
},
total: 0,
thirdSys: [],
thirdSysDetail: null,
list: [],
uploadFileUrl: null,
fileList: [],
@ -211,7 +217,8 @@
.then((response) => {
this.thirdSys = response.data.list || [];
this.filterQuery.thirdSys = this.thirdSys[0].thirdId;
this.uploadData.thirdSys = this.filterQuery.thirdSysFk;
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
this.selectSysParam();
this.getList();
})
@ -220,6 +227,21 @@
this.list = [];
});
},
getThirdSysDetail() {
let query = {
thirdSysFk: this.filterQuery.thirdSys,
key: "piQueryUrl",
};
filterDetailByKey(query)
.then((response) => {
this.thirdSysDetail = response.data;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
@ -236,7 +258,7 @@
selectSysParam() {
let query = {
key: "thirdIpUrl",
thirdSysFk: this.filterQuery.thirdSysFk
thirdSysFk: this.filterQuery.thirdSys
};
selectIp(query).then((response) => {
if (response.code == 20000) {
@ -245,7 +267,21 @@
});
},
thirdSysChange() {
this.uploadData.thirdSys = this.filterQuery.thirdSysFk;
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
},
downloadDatas() {
let query = {
thirdSysFk: this.filterQuery.thirdSys
};
downloadAll(query).then((response) => {
if (response.code == 20000) {
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
});
},
},
@ -256,6 +292,7 @@
},
created() {
this.getBasicThirdSys();
},
};
</script>

@ -3,7 +3,7 @@
<el-card class="el-card">
<div v-if="!isImport" style="margin-bottom: 20px">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
@ -17,7 +17,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
@ -35,7 +35,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证号:&nbsp;</span>
@ -49,7 +49,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
@ -66,7 +66,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
@ -80,7 +80,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位:&nbsp;</span>
@ -98,7 +98,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
@ -112,7 +112,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
@ -129,7 +129,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
@ -143,7 +143,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
@ -161,7 +161,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
@ -175,7 +175,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
@ -192,7 +192,7 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
@ -206,7 +206,7 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
@ -231,7 +231,7 @@
</div>
<el-input
style="width: 80%"
style="width: 85%"
type="textarea"
size="mini"
:disabled="true"

@ -0,0 +1,127 @@
<template>
<div>
<el-card class="el-card">
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="接口名称" prop="name" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="接口地址" prop="apiUrl" show-overflow-tooltip></el-table-column>
<el-table-column label="说明文档" prop="guideUrl" show-overflow-tooltip></el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handlePageChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</el-card>
</div>
</template>
<script>
import {findApi} from "../../../api/param/thirdSysApi";
export default {
data() {
return {
filterQuery: {
page: 1,
limit: 20,
},
modifyDialogVisible: false,
modifyDetailDialogVisible: false,
list: [],
inputQuery: null,
inputDetailQuery: null,
enableMap: {
true: "是",
false: "否",
},
detailList: null,
total: 0,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.modifyDialogVisible = false;
this.modifyDetailDialogVisible = false;
},
handleCurrentChange(row) {
this.getDetailList(row);
},
getList() {
this.loading = true;
findApi(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
onModifySubmit() {
updateBasicThirdSys(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
handleModifyClick(row) {
this.modifyDialogVisible = true;
this.inputQuery = row;
},
},
components: {
},
mounted() {
},
created() {
this.getList();
},
};
</script>
<style scoped>
.el-card {
margin-right: 20px;
/*transition: all .5s;*/
}
</style>
Loading…
Cancel
Save