bug修复

master
anthonywj 3 years ago
parent b0da7d87fd
commit 0ec45b5064

@ -4,8 +4,8 @@ module.exports = {
node: true node: true
}, },
'extends': [ 'extends': [
'plugin:vue/essential', 'plugin:vue/essential'
'@vue/prettier' // '@vue/prettier'
], ],
plugins: [ plugins: [
'vue' 'vue'
@ -15,6 +15,6 @@ module.exports = {
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}, },
parserOptions: { parserOptions: {
parser: 'babel-eslint' // parser: 'babel-eslint'
} }
} }

@ -1,4 +1,4 @@
{ {
"BASE_URL": "http://192.168.0.109:9996", "BASE_URL": "http://127.0.0.1:9996",
"SERVER_IP": "http://192.168.0.109:9996" "SERVER_IP": "http://127.0.0.1:9996"
} }

@ -15,6 +15,15 @@ export function getAllUdiInfos(query) {
params: query params: query
}); });
} }
export function getMutiUdiInfos(query) {
return axios({
url: "/udi/udirel/mutil/download",
method: "get",
params: query
});
}
export function getSmUdiInfos(query) { export function getSmUdiInfos(query) {
return axios({ return axios({

@ -138,7 +138,6 @@
float: left; float: left;
text-align: left; text-align: left;
margin-top: 5px; margin-top: 5px;
} }
.text { .text {

@ -1,125 +1,147 @@
<template> <template>
<div> <div>
<el-row :gutter="20" class="el-row" type="flex" align="middle"> <el-card>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag"> <el-row :gutter="20" class="el-row" type="flex" align="middle">
<span>系统ID:&nbsp;</span> <el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>系统ID:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="mini"
splaceholder="请输入内容"
:disabled="true"
v-model="inputQuery.thirdId"
></el-input>
</div> </div>
<el-input </el-col>
style="width: 200px" <el-col :span="10" class="el-col">
size="mini" <div class="text item">
splaceholder="请输入内容" <div class="itemTag">
:disabled="true" <span>系统名称:&nbsp;</span>
v-model="inputQuery.thirdId" </div>
></el-input> <el-input
</div> style="width: 200px"
</el-col> size="mini"
<el-col :span="10" class="el-col"> splaceholder="请输入内容"
<div class="text item"> v-model="inputQuery.thirdName"
<div class="itemTag"> ></el-input>
<span>系统名称:&nbsp;</span>
</div> </div>
<el-input </el-col>
style="width: 200px"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.thirdName"
></el-input>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<div class="text item"> <div class="text item">
<div class="itemTag"> <div class="itemTag">
<span>API说明文档:&nbsp;</span> <span>API说明文档:&nbsp;</span>
</div>
<div style="padding-top: 5px">
<a :href="inputQuery.guideUrl" target="_blank">{{ inputQuery.thirdName }}接口说明文档</a>
</div>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.enabled"></el-checkbox>
</div> </div>
<div style="padding-top: 5px"> </el-col>
<a :href="inputQuery.guideUrl" target="_blank">{{inputQuery.thirdName}}接口说明文档</a> <el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.mainSys"></el-checkbox>
</div> </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>第三方服务IP地址:&nbsp;</span>
</div>
<el-input
style="width: 80%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.thridUrl"
></el-input>
</div>
</el-col>
</el-row>
</el-card>
<el-card>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
</div> <div class="text item">
</el-col> <span>UDI自助管理平台接口授权:&nbsp;</span>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.enabled"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.mainSys"></el-checkbox>
</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>第三方服务IP地址:&nbsp;</span>
</div> </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">
<label>apikey</label>
<el-input
style="width: 38%; margin-right: 20px;"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.licenseApikey"
></el-input>
<label>secretkey</label>
<el-input
style="width: 38%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.licenseSecretkey"
></el-input>
<el-input
style="width: 80%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.thridUrl"
></el-input>
</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>UDI自助管理平台接口授权:&nbsp;</span>
</div> </div>
<label>apikey</label> </el-col>
<el-input </el-row>
style="width: 40%; margin-right: 10px;" </el-card>
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.licenseApikey"
></el-input>
<label>secretkey</label>
<el-input
style="width: 40%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.licenseSecretkey"
></el-input>
</div>
</el-col> <el-card>
</el-row> <el-row :gutter="20" class="el-row" type="flex">
<el-row :gutter="20" class="el-row" type="flex"> <el-col :span="12" class="el-col">
<el-col :span="18" class="el-col">
<div class="text item"> <div class="text item">
<div class="itemTag">
<span>第三方服务接口授权:&nbsp;</span> <span>第三方服务接口授权:&nbsp;</span>
</div> </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">
<label>apikey</label>
<el-input
style="width: 38%; margin-right: 20px;"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.apikey"
></el-input>
<label>secretkey</label>
<el-input
style="width: 38%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.apikey"
></el-input>
<label>apikey</label> </div>
<el-input </el-col>
style="width: 40%; margin-right: 10px;" </el-row>
size="mini" </el-card>
splaceholder="请输入内容"
v-model="inputQuery.apikey"
></el-input>
<label>secretkey</label>
<el-input
style="width: 40%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.secretkey"
></el-input>
</div> <el-row :gutter="20" class="el-row" type="flex" style="margin-top: 10px">
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col"> <el-col :span="24" class="el-col">
<div class="text item"> <div class="text item">
<div class="itemTag"> <div class="itemTag">
@ -143,40 +165,39 @@
</template> </template>
<script> <script>
export default { export default {
name: "inputQuery", name: "inputQuery",
props: { props: {
inputQuery: { inputQuery: {
type: Object, type: Object,
required: true, required: true,
},
}, },
}; },
};
</script> </script>
<style scoped> <style scoped>
.itemTag { .itemTag {
float: left; float: left;
text-align: left; text-align: left;
margin-top: 5px; margin-top: 5px;
}
}
.text { .text {
font-size: 13px; font-size: 13px;
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
} }
.el-row { .el-row {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-bottom: 20px; margin-bottom: 20px;
} }
.el-col { .el-col {
border-radius: 4px; border-radius: 4px;
flex-wrap: wrap; flex-wrap: wrap;
} }
</style> </style>

@ -48,6 +48,11 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" prop="enabled">
<template slot-scope="scope">
<span>{{ typeMap[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="下载次数" label="下载次数"
prop="dlCount" prop="dlCount"
@ -57,6 +62,7 @@
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="scope.row.type==1"
type="text" type="text"
size="small" size="small"
@click.native.stop="downloadExcel(scope.row)" @click.native.stop="downloadExcel(scope.row)"
@ -109,7 +115,7 @@
fromType: null, fromType: null,
page: 1, page: 1,
limit: 20, limit: 20,
type: 1, // type: 1,
thirdSysFk: null, thirdSysFk: null,
}, },
selectType: 0, selectType: 0,
@ -131,6 +137,11 @@
2: "处理异常", 2: "处理异常",
3: "处理完成" 3: "处理完成"
}, },
typeMap: {
1: '文件导出',
2: '网络同步',
},
uploadFileUrl: null, uploadFileUrl: null,
uploadData: { uploadData: {
thirdSys: "thirdId", thirdSys: "thirdId",
@ -148,7 +159,7 @@
genKey: null, genKey: null,
status: null, status: null,
page: 1, page: 1,
type: 1, // type: 1,
limit: 20, limit: 20,
thirdSysFk: null, thirdSysFk: null,
}; };
@ -190,8 +201,8 @@
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href); console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -184,8 +184,8 @@
console.log(a.href); console.log(a.href);
// a.download = ""; // // a.download = ""; //
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -77,13 +77,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="handleDetailClick(scope.row)" <!-- @click.native.stop="handleDetailClick(scope.row)"-->
>详情 <!-- >详情-->
</el-button <!-- </el-button-->
> <!-- >-->
<el-button <el-button
type="text" type="text"
size="small" size="small"

@ -0,0 +1,431 @@
<template>
<div>
<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="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%"
size="small" :disabled="true"
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="true"
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="true"
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="true"
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="true"
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="true"
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="true"
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-row>
</el-form>
</el-card>
</div>
</template>
<script>
export default {
name: "SelectDIDetailDialog",
props: {
editQuery: {
type: Object,
required: true,
},
},
data() {
return {}
},
methods: {},
created() {
},
};
</script>
<style scoped>
</style>

@ -82,13 +82,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="handleDetailClick(scope.row)" <!-- @click.native.stop="handleDetailClick(scope.row)"-->
>详情 <!-- >详情-->
</el-button <!-- </el-button-->
> <!-- >-->
<el-button <el-button
type="text" type="text"
size="small" size="small"

@ -59,16 +59,16 @@
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> <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="submit"></el-button>
<el-button type="primary" icon="search" @click="intentDetail" <el-button type="primary" icon="search" @click="intentDetail"
>关联选入 >关联添加
</el-button> </el-button>
<el-button type="primary" icon="search" @click="intentImportUdi" <el-button type="primary" icon="search" @click="intentImportUdi"
>选入DI器械 >添加DI信息
</el-button </el-button
> >
<el-button type="primary" icon="search" @click="intentImportErp" <el-button type="primary" icon="search" @click="intentImportErp"
>选入产品信息 >添加产品信息
</el-button </el-button
> >
@ -660,7 +660,22 @@
</div> </div>
</el-col> </el-col>
</el-row> </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-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
@ -709,7 +724,7 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="关联选入器械信息" title="关联添加器械信息"
:visible.sync="selectUdiDialogVisible" :visible.sync="selectUdiDialogVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
@ -719,7 +734,7 @@
<selectUdi @closeUdi="closeUdi" :isImportUdi="isImportUdi"></selectUdi> <selectUdi @closeUdi="closeUdi" :isImportUdi="isImportUdi"></selectUdi>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="从指定系统选入器械信息" title="从指定系统添加器械字典"
:visible.sync="selectErpDialogVisible" :visible.sync="selectErpDialogVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
@ -734,10 +749,11 @@
:data="thisData" :data="thisData"
:defaultSys="defaultSys" :defaultSys="defaultSys"
@closeUdi="closeUdi" @closeUdi="closeUdi"
:supEnable="false"
></selectErp> ></selectErp>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="选入DI器械信息" title="添加DI器械信息"
:visible.sync="selectLocalVisible" :visible.sync="selectLocalVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"

@ -655,6 +655,22 @@
</div> </div>
</el-col> </el-col>
</el-row> </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-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">

@ -75,9 +75,10 @@
style="width: 100%" style="width: 100%"
highlight-current-row="true" highlight-current-row="true"
v-loading="erpLloading" v-loading="erpLloading"
:row-class-name="tableRowClassName"
@current-change="handleErpChange" @current-change="handleErpChange"
> >
<!-- :row-class-name="tableRowClassName"-->
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="产品编码" prop="code"></el-table-column> <el-table-column label="产品编码" prop="code"></el-table-column>
<el-table-column label="产品名称" prop="name"></el-table-column> <el-table-column label="产品名称" prop="name"></el-table-column>
@ -131,6 +132,7 @@
</el-form-item> </el-form-item>
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-input <el-input
:disabled="unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''"
v-model="unionQuery.cpmctymc" v-model="unionQuery.cpmctymc"
size="mini" size="mini"
clearable="true" clearable="true"
@ -147,14 +149,14 @@
placeholder="规格型号" placeholder="规格型号"
clearable="true" clearable="true"
size="mini" size="mini"
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && unionQuery.ylqxzcrbarmc==null)" :disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && (unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''))"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-input <el-input
v-model="unionQuery.zczbhhzbapzbh" v-model="unionQuery.zczbhhzbapzbh"
clearable="true" clearable="true"
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && unionQuery.ylqxzcrbarmc==null)" :disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && (unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''))"
placeholder="注册/备案凭证号" placeholder="注册/备案凭证号"
size="mini" size="mini"
></el-input> ></el-input>
@ -224,275 +226,293 @@
</template> </template>
<script> <script>
import {getUdiInfos, filterCompany} from "../../api/basic/udiInfo"; import {getUdiInfos, filterCompany} from "../../api/basic/udiInfo";
import {combineUdi} from "../../api/basic/udiRelevance"; import {combineUdi} from "../../api/basic/udiRelevance";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys"; import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {getInvbasdoc} from "../../api/basic/getErps"; import {getInvbasdoc} from "../../api/basic/getErps";
export default {
name: "closeDialog",
props: {
closeDialog: {
type: Function,
required: true,
},
},
data() { export default {
return { name: "closeDialog",
erpQuery: { props: {
code: null, closeDialog: {
name: "", type: Function,
thirdSys: null, required: true,
spec: null,
manufactory: null,
registerNo: null,
page: 1,
limit: 10,
},
unionQuery: {
page: 1,
limit: 20,
nameCode: "",
cpmctymc: "",
ylqxzcrbarmc: null,
ggxh: "",
zczbhhzbapzbh: "",
isCheck: 1
},
combineQuery: {
thirdId: "",
keys: [],
thirdSys: null,
},
fromOptions: [],
checked: true,
udidlList: [],
erpList: [],
pageTotal: 1,
total: 1,
currentRow: null,
loading: false,
erpLloading: false,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
};
}, },
methods: { },
serchList() {
this.unionQuery.page = 1;
this.getList();
},
getList() {
if (
this.unionQuery.nameCode == "" &&
this.unionQuery.cpmctymc == "" &&
this.unionQuery.ylqxzcrbarmc == "" &&
this.unionQuery.ggxh == ""
) {
this.$message.warning("请输入查询条件");
return;
}
this.loading = true;
getUdiInfos(this.unionQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.udidlList = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
}) data() {
.catch(() => { return {
this.loading = false; erpQuery: {
this.udidlList = []; code: null,
this.total = 0; name: "",
}); thirdSys: null,
spec: null,
manufactory: null,
registerNo: null,
page: 1,
limit: 10,
}, },
unionQuery: {
checkSelectable(row) { page: 1,
return !row.check; limit: 20,
}, nameCode: "",
handleCurrentChange(val) { cpmctymc: "",
this.unionQuery.page = val; ylqxzcrbarmc: null,
this.getList(); ggxh: "",
zczbhhzbapzbh: "",
isCheck: 1
}, },
tableRowClassName({row}) { combineQuery: {
if (row.checked) return "warning-row"; thirdId: "",
return ""; keys: [],
}, thirdSys: null,
handleErpChange(val) {
console.log(val);
this.currentRow = val;
// this.unionQuery.cpmctymc = this.currentRow.name;
// this.unionQuery.zczbhhzbapzbh = this.currentRow.registerNo;
// this.unionQuery.ggxh = this.currentRow.spec;
}, },
fromOptions: [],
checked: true,
udidlList: [],
erpList: [],
pageTotal: 1,
total: 1,
currentRow: null,
loading: false,
erpLloading: false,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
};
},
methods: {
serchList() {
this.unionQuery.page = 1;
this.getList();
},
getList() {
if (
this.unionQuery.nameCode == "" &&
this.unionQuery.cpmctymc == "" &&
this.unionQuery.ylqxzcrbarmc == "" &&
this.unionQuery.ggxh == ""
) {
this.$message.warning("请输入查询条件");
return;
}
this.loading = true;
getUdiInfos(this.unionQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.udidlList = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
searchErpList() { })
this.erpQuery.page = 1; .catch(() => {
this.getErpList(); this.loading = false;
}, this.udidlList = [];
handleErpPageChange(val) { this.total = 0;
this.erpQuery.page = val; });
this.getErpList(); },
},
getErpList() {
this.erplLoading = true;
this.erpQuery.thirdSys = this.thirdSysFk;
getInvbasdoc(this.erpQuery)
.then((response) => {
this.erplLoading = false;
if (response.code == 20000) {
this.erpList = response.data.list || [];
this.pageTotal = response.data.total || 0;
} else {
this.$message.error(response.message);
this.erpList = [];
this.pageTotal = 0;
}
}) checkSelectable(row) {
.catch(() => { return !row.check;
this.erplLoading = false; },
handleCurrentChange(val) {
this.unionQuery.page = val;
this.getList();
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
handleErpChange(val) {
console.log(val);
this.currentRow = val;
// this.unionQuery.cpmctymc = this.currentRow.name;
// this.unionQuery.zczbhhzbapzbh = this.currentRow.registerNo;
// this.unionQuery.ggxh = this.currentRow.spec;
},
searchErpList() {
this.erpQuery.page = 1;
this.getErpList();
},
handleErpPageChange(val) {
this.erpQuery.page = val;
this.getErpList();
},
getErpList() {
this.erplLoading = true;
this.erpQuery.thirdSys = this.thirdSysFk;
getInvbasdoc(this.erpQuery)
.then((response) => {
this.erplLoading = false;
if (response.code == 20000) {
this.erpList = response.data.list || [];
this.pageTotal = response.data.total || 0;
} else {
this.$message.error(response.message);
this.erpList = []; this.erpList = [];
this.pageTotal = 0; this.pageTotal = 0;
}); }
},
keyupErp_submit(event) { })
this.erpQuery.page = 1; .catch(() => {
this.getErpList(); this.erplLoading = false;
event.target.select(); this.erpList = [];
}, this.pageTotal = 0;
intentBack() {
this.$router.go(-1);
},
combine() {
let selectData = this.multipleUdiSelection;
var ids = [];
selectData.forEach((obj) => {
ids.push(obj.uuid);
}); });
if (this.currentRow != null && this.currentRow.checked) { },
this.$message.warning("产品编码:" + this.currentRow.code + "已被选入"); keyupErp_submit(event) {
return; this.erpQuery.page = 1;
} this.getErpList();
if (this.currentRow == null) { event.target.select();
this.$message.warning("未选择第三方产品信息"); },
return; intentBack() {
} this.$router.go(-1);
if (ids.length == 0) { },
this.$message.warning("未选择医疗器械产品信息");
return; confirmCombine(ids) {
} this.combineQuery.keys = ids;
this.combineQuery.keys = ids; this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.thirdSys = this.thirdSysFk; if (this.checked) {
if (this.checked) { this.combineQuery.thirdId = this.currentRow.code;
this.combineQuery.thirdId = this.currentRow.code; this.combineQuery.erpName = this.currentRow.name;
this.combineQuery.erpName = this.currentRow.name; } else {
} else { this.combineQuery.thirdId = "";
this.combineQuery.thirdId = ""; }
} combineUdi(this.combineQuery)
combineUdi(this.combineQuery) .then((response) => {
.then((response) => { if (response.code == 20000) {
if (response.code == 20000) { this.$emit("closeUdi", true);
this.$emit("closeUdi", true); } else {
} else { // this.$emit("closeUdi", false);
this.$emit("closeUdi", false); this.$message.warning(response.message);
} }
})
.catch(() => {
this.$emit("closeUdi", false);
});
},
combine() {
let selectData = this.multipleUdiSelection;
var ids = [];
selectData.forEach((obj) => {
ids.push(obj.uuid);
});
if (this.currentRow == null) {
this.$message.warning("未选择第三方产品信息");
return;
}
if (ids.length == 0) {
this.$message.warning("未选择医疗器械产品信息");
return;
}
if (this.currentRow != null && this.currentRow.checked) {
this.$confirm("产品编码:" + this.currentRow.code + "已被添加,是否继续添加", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.confirmCombine(ids);
}) })
.catch(() => { .catch(() => {
this.$emit("closeUdi", false);
}); });
}, return;
} else {
this.confirmCombine(ids);
}
},
intentDetail(row) { intentDetail(row) {
this.$emit("productInfo", row); this.$emit("productInfo", row);
this.closeDialog(); this.closeDialog();
}, },
handleSelectionUdiChange(val) { handleSelectionUdiChange(val) {
this.multipleUdiSelection = val; this.multipleUdiSelection = val;
}, },
keyup_submit(event) { keyup_submit(event) {
this.unionQuery.page = 1; this.unionQuery.page = 1;
this.getList(); this.getList();
event.target.select(); event.target.select();
}, },
getBasicThirdSys() { getBasicThirdSys() {
let query = { let query = {
enabled: true, enabled: true,
mainSys: true, mainSys: true,
}; };
getBasicThirdSys(query) getBasicThirdSys(query)
.then((response) => { .then((response) => {
this.thirdSys = response.data.list || []; this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId; this.thirdSysFk = this.thirdSys[0].thirdId;
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
this.list = []; this.list = [];
}); });
},
findMethod(query) {
console.log(query);
let cQuery = {
ylqxzcrbarmc: query,
page: 1,
limit: 10,
};
filterCompany(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data || [];
})
.catch(() => {
this.loading = false;
this.options = [];
});
},
}, },
created() { findMethod(query) {
this.getBasicThirdSys(); console.log(query);
let cQuery = {
ylqxzcrbarmc: query,
page: 1,
limit: 10,
};
filterCompany(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data || [];
})
.catch(() => {
this.loading = false;
this.options = [];
});
}, },
}; },
created() {
this.getBasicThirdSys();
},
};
</script> </script>
<style scoped> <style scoped>
.checkitemTag { .checkitemTag {
float: left; float: left;
text-align: left; text-align: left;
margin-top: 5px; margin-top: 5px;
width: 100%; width: 100%;
} }
.query-form-item { .query-form-item {
display: block !important; display: block !important;
margin-right: 10px; margin-right: 10px;
margin-bottom: 5px; margin-bottom: 5px;
} }
.el-row { .el-row {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.el-col { .el-col {
border-radius: 4px; border-radius: 4px;
flex-wrap: wrap; flex-wrap: wrap;
} }
div /deep/ .el-table .warning-row { div /deep/ .el-table .warning-row {
background: #bebebe; background: #bebebe;
} }
div /deep/ .el-table .success-row { div /deep/ .el-table .success-row {
background: #ffffff; background: #ffffff;
} }
</style> </style>

@ -51,8 +51,6 @@
placeholder="器械通用名称" placeholder="器械通用名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
@ -83,11 +81,11 @@
>选入 >选入
</el-button </el-button
> >
<el-button type="primary" size="mini" icon="search" @click="combineUdiAll" <!-- <el-button type="primary" size="mini" icon="search" @click="combineUdiAll"-->
v-if="relId==null" <!-- v-if="relId==null"-->
>结果全部选入 <!-- >结果全部选入-->
</el-button <!-- </el-button-->
> <!-- >-->
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
@ -104,7 +102,6 @@
@selection-change="handleSelectionUdiChange" @selection-change="handleSelectionUdiChange"
> >
<!-- @current-change="handleErpChange"-->
<el-table-column <el-table-column
v-if="relId==null" v-if="relId==null"
type="selection" type="selection"
@ -137,6 +134,19 @@
prop="zczbhhzbapzbh" prop="zczbhhzbapzbh"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="diDetail(scope.row)"
>详情
</el-button
>
</template>
</el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
:page-size="unionQuery.limit" :page-size="unionQuery.limit"
@ -341,12 +351,30 @@
</el-row> </el-row>
</div> </div>
</el-card> </el-card>
<el-dialog
title="器械信息详情"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="selectDialog"
width="65%"
append-to-body
v-if="selectDialog"
>
<selectDiDetail :editQuery="diDetails"
></selectDiDetail>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {getUdiInfos, filterCompany} from "../../api/basic/udiInfo"; import {getUdiInfos, filterCompany} from "../../api/basic/udiInfo";
import {combineUdi, combineAllUdi, checkExitUdi} from "../../api/basic/udiRelevance"; import {combineUdi, combineAllUdi, checkExitUdi} from "../../api/basic/udiRelevance";
import selectDiDetail from "./SelectDIDetailDialog"
import selectUdi from "@/views/basic/UdiInfoRelevance";
import selectErp from "@/views/basic/UdiInfoselectErpUdi";
export default { export default {
name: "closeDialog", name: "closeDialog",
@ -399,6 +427,8 @@ export default {
loading: false, loading: false,
erpLloading: false, erpLloading: false,
multipleUdiSelection: [], multipleUdiSelection: [],
selectDialog: false,
diDetails: null,
}; };
}, },
methods: { methods: {
@ -477,6 +507,13 @@ export default {
checkSelectable(row) { checkSelectable(row) {
return !row.check; return !row.check;
}, },
diDetail(row) {
this.diDetails = row;
this.selectDialog = true;
},
handleCurrentChange(val) { handleCurrentChange(val) {
this.unionQuery.page = val; this.unionQuery.page = val;
this.getList(); this.getList();
@ -575,11 +612,13 @@ export default {
if (response.code == 20000) { if (response.code == 20000) {
this.$emit("closeUdi", true); this.$emit("closeUdi", true);
} else { } else {
this.$message.error(response.message);
this.$emit("closeUdi", false); this.$emit("closeUdi", false);
} }
}) })
.catch(() => { .catch(() => {
this.combineLoading = false; this.combineLoading = false;
this.$emit("closeUdi", false); this.$emit("closeUdi", false);
}); });
}, },
@ -606,6 +645,9 @@ export default {
}); });
}, },
}, },
components: {
selectDiDetail,
},
}; };
</script> </script>

@ -71,7 +71,8 @@
>选入 >选入
</el-button </el-button
> >
<el-button type="primary" icon="search" @click="combineAll" v-if="isImport" <el-button type="primary" icon="search" @click="combineAll"
v-if="isImport && !supEnable"
>结果全部选入 >结果全部选入
</el-button </el-button
> >
@ -84,14 +85,12 @@
style="width: 100%" style="width: 100%"
highlight-current-row="true" highlight-current-row="true"
v-loading="erpLloading" v-loading="erpLloading"
:row-class-name="tableRowClassName"
@current-change="handleErpChange" @current-change="handleErpChange"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column <el-table-column
v-if="isImport" v-if="isImport"
type="selection" type="selection"
:selectable="checkSelectable"
width="55" width="55"
></el-table-column> ></el-table-column>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
@ -308,267 +307,289 @@
</template> </template>
<script> <script>
import {modifyRel, addErp, addAllErp} from "../../api/basic/udiRelevance"; import {modifyRel, addErp, addAllErp} from "../../api/basic/udiRelevance";
import {getInvbasdoc} from "../../api/basic/getErps"; import {getInvbasdoc} from "../../api/basic/getErps";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys"; import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
export default { export default {
name: "closeDialog", name: "closeDialog",
props: { props: {
uuid: { uuid: {
type: Object, type: Object,
required: true, required: true,
}, },
data: {
type: Object,
required: true,
},
relId: { data: {
type: Number, type: Object,
required: true, required: true,
}, },
isImport: { relId: {
type: Boolean, type: Number,
required: true, required: true,
}, },
closeDialog: { isImport: {
type: Function, type: Boolean,
required: true, required: true,
},
defaultSys: {
type: Object,
required: true,
}
}, },
data() { closeDialog: {
return { type: Function,
erpQuery: { required: true,
code: null,
name: null,
spec: null,
registerNo: null,
manufactory: null,
thirdSys: null,
supName:null,
page: 1,
limit: 10,
},
combineLoading: false,
combineQuery: {
thirdId: "",
relId: "",
erpName: "",
keys: [],
thirdIds: [],
thirdSys: null,
query: null,
isRlInv: null,
},
udidlList: [],
erpList: [],
pageTotal: 1,
total: 1,
currentRow: null,
loading: false,
erpLloading: false,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
};
}, },
methods: { defaultSys: {
tableRowClassName({row}) { type: Object,
if (row.checked) return "warning-row"; required: true,
return ""; },
}, supEnable: {
checkSelectable(row) { type: Object,
return !row.checked; required: true,
}, }
handleCurrentChange(val) { },
this.unionQuery.page = val;
this.getList(); data() {
}, return {
handleErpChange(val) { erpQuery: {
console.log(val); code: null,
this.currentRow = val; name: null,
spec: null,
registerNo: null,
manufactory: null,
thirdSys: null,
supName: null,
page: 1,
limit: 10,
}, },
handleErpPageChange(val) { combineLoading: false,
this.erpQuery.page = val; combineQuery: {
this.getErpList(); thirdId: "",
relId: "",
erpName: "",
keys: [],
thirdIds: [],
thirdSys: null,
query: null,
isRlInv: null,
}, },
searchErpList() { udidlList: [],
this.erpQuery.page = 1; erpList: [],
this.getErpList(); pageTotal: 1,
}, total: 1,
currentRow: null,
loading: false,
erpLloading: false,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
};
},
methods: {
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
checkSelectable(row) {
return !row.checked;
},
handleCurrentChange(val) {
this.unionQuery.page = val;
this.getList();
},
handleErpChange(val) {
console.log(val);
this.currentRow = val;
},
handleErpPageChange(val) {
this.erpQuery.page = val;
this.getErpList();
},
keyup_submit(event) { searchErpList() {
this.erpQuery.page = 1;
this.getErpList();
},
this.erpQuery.page = 1; keyup_submit(event) {
this.getErpList();
event.target.select(); this.erpQuery.page = 1;
}, this.getErpList();
getErpList() { event.target.select();
this.erplLoading = true; },
this.erpQuery.thirdSys = this.thirdSysFk; getErpList() {
getInvbasdoc(this.erpQuery) this.erplLoading = true;
.then((response) => { this.erpQuery.thirdSys = this.thirdSysFk;
this.erplLoading = false; getInvbasdoc(this.erpQuery)
if (response.code == 20000) { .then((response) => {
this.erpList = response.data.list || []; this.erplLoading = false;
this.pageTotal = response.data.total || 0; if (response.code == 20000) {
} else { this.erpList = response.data.list || [];
this.$message.error(response.message); this.pageTotal = response.data.total || 0;
this.erpList = []; } else {
this.pageTotal = 0; this.$message.error(response.message);
}
})
.catch(() => {
this.erplLoading = false;
this.erpList = []; this.erpList = [];
this.pageTotal = 0; this.pageTotal = 0;
}); }
}, })
intentBack() { .catch(() => {
this.closeDialog(); this.erplLoading = false;
}, this.erpList = [];
this.pageTotal = 0;
});
},
intentBack() {
this.closeDialog();
},
combineAll() {
this.$confirm("此操作将在后台自动下载所有查询结果, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.query = this.erpQuery;
addAllErp(this.combineQuery)
.then((response) => {
if (response.code == 20000) {
this.$message.success(response.data);
this.$emit("closeUdi", true);
} else {
this.$message.error(response.message);
this.$emit("closeUdi", false);
}
})
.catch(() => {
this.$emit("closeUdi", false);
});
})
.catch(() => {
});
combineAll() { },
this.$confirm("此操作将在后台自动下载所有查询结果, 是否继续?", "提示", { combine() {
this.combineQuery.query = null;
this.combineQuery.relId = this.relId;
this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.supEnable = this.supEnable;
if (this.isImport) {
this.combineQuery.thirdId = null;
let selectData = this.multipleUdiSelection;
let selected = '';
selectData.forEach((row) => {
if (row.checked) {
selected = selected + row.code + ",";
}
this.combineQuery.thirdIds.push(row.code);
});
// if (selected != null) {
// this.$message.warning("" + selected.code + "");
// return;
// }
this.$confirm("产品编码:" + selected + "已被添加,是否继续添加", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
this.combineQuery.thirdSys = this.thirdSysFk; this.combineLoading = true;
this.combineQuery.query = this.erpQuery; addErp(this.combineQuery)
addAllErp(this.combineQuery)
.then((response) => { .then((response) => {
this.combineLoading = false;
if (response.code == 20000) { if (response.code == 20000) {
this.$message.success(response.data);
this.$emit("closeUdi", true); this.$emit("closeUdi", true);
this.$message.success(response.data);
} else { } else {
this.$message.error(response.message);
this.$emit("closeUdi", false); this.$emit("closeUdi", false);
this.$message.warning(response.message);
// let msgs= response.message.split(";");
// for(let i = 0;i<msgs.length;i++){
// this.$message.warning(msgs[i]);
// }
} }
}) })
.catch(() => { .catch(() => {
this.combineLoading = false;
this.$emit("closeUdi", false); this.$emit("closeUdi", false);
}); });
}) })
.catch(() => { .catch(() => {
}); });
} else {
}, this.combineQuery.thirdId = this.currentRow.code;
this.combineQuery.erpName = this.currentRow.name;
combine() { if (this.currentRow.checked) {
this.combineQuery.query = null; this.$message.warning("产品编码:" + this.currentRow.code + "已被选入");
this.combineQuery.relId = this.relId; return;
this.combineQuery.thirdSys = this.thirdSysFk;
if (this.isImport) {
this.combineQuery.thirdId = null;
let selectData = this.multipleUdiSelection;
let selected = null;
selectData.forEach((row) => {
if (row.checked) {
selected = row;
}
this.combineQuery.thirdIds.push(row.code);
});
if (selected != null) {
this.$message.warning("产品编码:" + selected.code + "已被选入");
return;
}
this.combineLoading = true;
addErp(this.combineQuery)
.then((response) => {
this.combineLoading = false;
if (response.code == 20000) {
this.$emit("closeUdi", true);
} else {
this.$message.error(response.message);
this.$emit("closeUdi", false);
}
})
.catch(() => {
this.combineLoading = false;
this.$emit("closeUdi", false);
});
} else {
this.combineQuery.thirdId = this.currentRow.code;
this.combineQuery.erpName = this.currentRow.name;
if (this.currentRow.checked) {
this.$message.warning("产品编码:" + this.currentRow.code + "已被选入");
return;
}
this.combineLoading = true;
modifyRel(this.combineQuery)
.then((response) => {
this.combineLoading = false;
if (response.code == 20000) {
this.$emit("closeUdi", true);
} else {
this.$emit("closeUdi", false);
}
})
.catch(() => {
this.combineLoading = false;
this.$emit("closeUdi", false);
});
} }
}, this.combineLoading = true;
modifyRel(this.combineQuery)
handleSelectionChange(val) {
console.log("----" + val);
this.multipleUdiSelection = val;
},
getBasicThirdSys() {
let query = {
enabled: true,
mainSys: false,
filter: true,
};
if (this.isImport) {
query.mainSys = true;
}
getBasicThirdSys(query)
.then((response) => { .then((response) => {
this.thirdSys = response.data.list || []; this.combineLoading = false;
this.thirdSysFk = this.thirdSys[0].thirdId; if (response.code == 20000) {
if (this.defaultSys != null) { this.$emit("closeUdi", true);
this.thirdSysFk = this.defaultSys; } else {
this.$emit("closeUdi", false);
} }
}) })
.catch(() => { .catch(() => {
this.loading = false; this.combineLoading = false;
this.list = []; this.$emit("closeUdi", false);
}); });
}, }
}, },
created() {
console.log("-------------" + this.uuid); handleSelectionChange(val) {
this.getBasicThirdSys(); console.log("----" + val);
this.multipleUdiSelection = val;
},
getBasicThirdSys() {
let query = {
enabled: true,
mainSys: false,
filter: true,
};
if (this.isImport) {
query.mainSys = true;
}
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId;
if (this.defaultSys != null) {
this.thirdSysFk = this.defaultSys;
}
})
.catch(() => {
this.loading = false;
this.list = [];
});
}, },
}; },
created() {
console.log("-------------" + this.uuid);
this.getBasicThirdSys();
},
};
</script> </script>
<style scoped> <style scoped>
div /deep/ .el-table .warning-row { div /deep/ .el-table .warning-row {
background: #bebebe; background: #bebebe;
} }
div /deep/ .el-table .success-row { div /deep/ .el-table .success-row {
background: #ffffff; background: #ffffff;
} }
</style> </style>

@ -48,6 +48,11 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" prop="enabled">
<template slot-scope="scope">
<span>{{ typeMap[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="下载次数" label="下载次数"
prop="dlCount" prop="dlCount"
@ -58,6 +63,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
v-if="scope.row.type==1"
size="small" size="small"
@click.native.stop="downloadExcel(scope.row)" @click.native.stop="downloadExcel(scope.row)"
>下载 >下载
@ -106,7 +112,7 @@ export default {
data() { data() {
return { return {
filterQuery: { filterQuery: {
type: 1, // type: 1,
genKey: null, genKey: null,
status: null, status: null,
fromType: null, fromType: null,
@ -133,6 +139,11 @@ export default {
2: "处理异常", 2: "处理异常",
3: "处理完成" 3: "处理完成"
}, },
typeMap: {
1: '文件导出',
2: '网络同步',
},
uploadFileUrl: null, uploadFileUrl: null,
uploadData: { uploadData: {
thirdSys: "thirdId", thirdSys: "thirdId",
@ -188,10 +199,9 @@ export default {
.then((res) => res.blob()) .then((res) => res.blob())
.then((blob) => { .then((blob) => {
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -184,8 +184,8 @@
console.log(a.href); console.log(a.href);
// a.download = ""; // // a.download = ""; //
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -47,7 +47,7 @@
type="primary" type="primary"
icon="search" icon="search"
@click="selectProduct()" @click="selectProduct()"
>选择产品 >添加产品
</el-button </el-button
> >
</el-button-group> </el-button-group>

@ -67,15 +67,16 @@
<!--</el-button--> <!--</el-button-->
<!--&gt;--> <!--&gt;-->
<!--<el-button type="primary" icon="search" @click="intentImportErp"-->
<!--&gt;选入产品信息-->
<!--</el-button-->
<!--&gt;-->
<el-button <el-button
type="primary" type="primary"
icon="search" icon="search"
@click="selectProduct()" @click="selectProduct()"
>选择产品 >选入产品
</el-button
>
<el-button type="primary" icon="search" @click="intentImportErp"
>添加产品信息
</el-button </el-button
> >
</el-button-group> </el-button-group>
@ -670,7 +671,22 @@
</div> </div>
</el-col> </el-col>
</el-row> </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-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
</el-col> </el-col>
@ -1192,6 +1208,22 @@
</div> </div>
</el-col> </el-col>
</el-row> </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-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
</el-col> </el-col>
@ -1221,7 +1253,7 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="关联选入器械信息" title="关联选入耗材信息"
:visible.sync="selectUdiDialogVisible" :visible.sync="selectUdiDialogVisible"
width="85%" width="85%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -1231,7 +1263,7 @@
<selectUdi @closeUdi="closeUdi" :isImportUdi="isImportUdi"></selectUdi> <selectUdi @closeUdi="closeUdi" :isImportUdi="isImportUdi"></selectUdi>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="从指定系统选入器械信息" title="从指定系统添加耗材信息"
:visible.sync="selectErpDialogVisible" :visible.sync="selectErpDialogVisible"
width="85%" width="85%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -1246,6 +1278,7 @@
:data="thisData" :data="thisData"
:defaultSys="defaultSys" :defaultSys="defaultSys"
@closeUdi="closeUdi" @closeUdi="closeUdi"
:supEnable="true"
></selectErp> ></selectErp>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
@ -1660,6 +1693,23 @@ export default {
this.thisData = row; this.thisData = row;
this.detailDialogVisible = true; this.detailDialogVisible = true;
this.editQuery = row; this.editQuery = row;
this.relevanceEdit = {
id: row.rlId,
// thirdId: row.thirdId,
isUseDy: row.isUseDy,
isDisable: row.isDisable,
isAdavence: row.isAdavence,
};
let ttquery = {
uuid: row.uuid,
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
this.getDetailList(ttquery);
this.getThirdSysDetail();
}, },
sumitLockStatus(row) { sumitLockStatus(row) {
let postQuery = { let postQuery = {
@ -1714,9 +1764,7 @@ export default {
this.selectErpDialogVisible = false; this.selectErpDialogVisible = false;
this.selectLocalVisible = false; this.selectLocalVisible = false;
this.getThirdSysDetail(); this.getThirdSysDetail();
if (val) { this.getList();
this.getList();
}
}, },
getThirdSysDetail() { getThirdSysDetail() {
let query = { let query = {

File diff suppressed because it is too large Load Diff

@ -3,7 +3,7 @@
<div> <div>
<h3 class="toptitle">zhaoan医院UDI自助平台</h3> <h3 class="toptitle">诏安县医院UDI自助平台</h3>
</div> </div>
<el-form <el-form

@ -191,8 +191,8 @@
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href); console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -101,13 +101,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="handleDetailClick(scope.row)" <!-- @click.native.stop="handleDetailClick(scope.row)"-->
>详情 <!-- >详情-->
</el-button <!-- </el-button-->
> <!-- >-->
<el-button <el-button
type="text" type="text"
size="small" size="small"

@ -74,13 +74,12 @@
<el-button <el-button
type="text" type="text"
size="small" size="small"
:disabled="scope.row.code==1000 ||scope.row.code==1001"
@click.native.stop="handleDel(node,scope.row)" @click.native.stop="handleDel(node,scope.row)"
>删除 >删除
</el-button </el-button
> >
</template> </template>
<!-- :disabled="scope.row.code==1000 ||scope.row.code==1001"-->
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -379,7 +378,7 @@ export default {
// //
handleForm(node, data, formName) { handleForm(node, data, formName) {
this.formVisible = true; this.formVisible = true;
let no = this.getProjectNum() + Math.floor(Math.random() * 10000) let no = Math.floor(Math.random() * 10000000)
this.pidData = data || null; this.pidData = data || null;
formJson.pid = (data && parseInt(data.id)) || ""; formJson.pid = (data && parseInt(data.id)) || "";
this.formData = JSON.parse(JSON.stringify(formJson)); this.formData = JSON.parse(JSON.stringify(formJson));

@ -191,8 +191,8 @@
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href); console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -194,8 +194,8 @@
console.log(a.href); console.log(a.href);
// a.download = ""; // // a.download = ""; //
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; // // ]; // //
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -101,13 +101,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="handleDetailClick(scope.row)" <!-- @click.native.stop="handleDetailClick(scope.row)"-->
>详情 <!-- >详情-->
</el-button <!-- </el-button-->
> <!-- >-->
<el-button <el-button
type="text" type="text"
size="small" size="small"

@ -188,8 +188,8 @@
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href); console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; ];
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -192,8 +192,8 @@
a.href = URL.createObjectURL(blob); a.href = URL.createObjectURL(blob);
console.log(a.href); console.log(a.href);
a.download = a.download =
row.filePath.split("/")[ row.filePath.split("\\")[
row.filePath.split("/").length - 1 row.filePath.split("\\").length - 1
]; ];
document.body.appendChild(a); document.body.appendChild(a);
a.click(); a.click();

@ -100,13 +100,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="handleDetailClick(scope.row)" <!-- @click.native.stop="handleDetailClick(scope.row)"-->
>详情 <!-- >详情-->
</el-button <!-- </el-button-->
> <!-- >-->
<el-button <el-button
type="text" type="text"
size="small" size="small"

@ -181,7 +181,17 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20">
<el-col :span="1">
</el-col>
<el-col :span="10">
<el-form-item>
<el-checkbox v-model="udplatEnable">
是否阳光采购平台企业
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="registerConfigMap.companyCheckStatus"> <el-row :gutter="20" v-if="registerConfigMap.companyCheckStatus">
<el-col :span="4"> <el-col :span="4">
<div class="register-text"> <div class="register-text">
@ -190,7 +200,7 @@
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item prop="fromCorp"> <el-form-item prop="udplatCompanyName">
<el-select <el-select
v-model="inputQuery.udplatCompanyName" v-model="inputQuery.udplatCompanyName"
filterable filterable
@ -203,6 +213,7 @@
style="width: 100%" style="width: 100%"
@change="selectUdlpatOne" @change="selectUdlpatOne"
:loading="loading" :loading="loading"
:disabled="!udplatEnable"
> >
<el-option <el-option
v-for="item in fromUdplatOptions" v-for="item in fromUdplatOptions"
@ -229,6 +240,7 @@
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row :gutter="20">--> <!-- <el-row :gutter="20">-->
<!-- <el-col :span="4">--> <!-- <el-col :span="4">-->
<!-- <div class="register-text">--> <!-- <div class="register-text">-->
@ -552,6 +564,7 @@ export default {
checkCompanyNameStatus: false, checkCompanyNameStatus: false,
licenseUrl: null, licenseUrl: null,
}, },
udplatEnable: false,
headers: {}, headers: {},
uploadUrl: null, uploadUrl: null,
fileUrl: null, fileUrl: null,
@ -588,7 +601,7 @@ export default {
{required: true, message: "请输入企业名称", trigger: "blur"}, {required: true, message: "请输入企业名称", trigger: "blur"},
], ],
udplatCompanyName: [ udplatCompanyName: [
{required: true, message: "请输入阳光采购平台企业名称", trigger: "blur"}, {required: this.udplatEnable, message: "请输入阳光采购平台企业名称", trigger: "blur"},
], ],
creditNum: [ creditNum: [

@ -500,12 +500,12 @@
</template> </template>
<script> <script>
import { import {
getUdiInfos,getAllUdiInfos, getUdiInfos, getAllUdiInfos,
deletetUdiInfos, deletetUdiInfos,
thirdSysDetail, thirdSysDetail,
removeRl, sysFilter removeRl, sysFilter, getMutiUdiInfos
} from "../../api/basic/udiRelevance"; } from "../../api/basic/udiRelevance";
import {selectSysParamByKey} from "../../api/param/systemParamConfig"; import {selectSysParamByKey} from "../../api/param/systemParamConfig";
import {filterByUuid} from "../../api/basic/udiInfo"; import {filterByUuid} from "../../api/basic/udiInfo";
import {updateBind} from "../../api/warehouse/order" import {updateBind} from "../../api/warehouse/order"
@ -587,7 +587,7 @@
getList() { getList() {
this.loading = true; this.loading = true;
this.filterQuery.nameCode = this.curRow.nameCode; this.filterQuery.nameCode = this.curRow.nameCode;
getAllUdiInfos(this.filterQuery) getMutiUdiInfos(this.filterQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
this.list = response.data.list || []; this.list = response.data.list || [];

@ -169,7 +169,7 @@
<el-form-item prop="code"> <el-form-item prop="code">
<el-input <el-input
@focus="getInputFocus($event)" @focus="getInputFocus($event)"
@keypress.enter.native="addCode()" @keypress.enter.native="enterKey($event)"
v-model="formData.code" v-model="formData.code"
ref='inputRef' ref='inputRef'
></el-input> ></el-input>
@ -186,10 +186,19 @@
> >
</el-col> </el-col>
<div class="text item" style="margin-left: 30px"> 已扫码条码{{ total }}
</div>
</el-row> </el-row>
<el-row :gutter="20">
<el-col :span="16" style="margin-left: 40px">
<el-checkbox v-model="sitcomScan"></el-checkbox>
</el-col>
<el-col :span="4">
<div class="text item" style="margin-left: 30px"> 条码数量{{ total }}
</div>
</el-col>
</el-row>
<el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350" <el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350"
:row-style="rowStyle" :row-style="rowStyle"
ref="multipleTable"> ref="multipleTable">
@ -363,6 +372,7 @@ export default {
curRow: null, curRow: null,
selectRlVisible: false, selectRlVisible: false,
dialogTableVisible: false, dialogTableVisible: false,
sitcomScan: false,
}; };
}, },
components: { components: {
@ -426,6 +436,13 @@ export default {
this.getList(); this.getList();
} }
}, },
enterKey(event) {
if (this.sitcomScan) {
return;
} else {
this.addCode(event);
}
},
addCode(event) { addCode(event) {
this.formData.corpOrderId = this.formData.corpOrderId.trim(); this.formData.corpOrderId = this.formData.corpOrderId.trim();
this.actionEnable = true; this.actionEnable = true;

@ -116,7 +116,7 @@
<el-col :span="19"> <el-col :span="19">
<el-form-item prop="code"> <el-form-item prop="code">
<el-input <el-input
@keypress.enter.native="addCode()" @keypress.enter.native="enterKey($event)"
v-model="formData.code" v-model="formData.code"
ref='inputRef' ref='inputRef'
@focus="getInputFocus($event)" @focus="getInputFocus($event)"
@ -134,9 +134,17 @@
</el-button </el-button
> >
</el-col> </el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="16" style="margin-left: 40px">
<el-checkbox v-model="sitcomScan"></el-checkbox>
</el-col>
<el-col :span="4">
<div class="text item" style="margin-left: 30px"> 条码数量{{ total }}
</div>
</el-col>
<!-- <div class="text item" style="margin-left: 30px"> 已扫码条码{{ total }}-->
<!-- </div>-->
</el-row> </el-row>
<el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350" <el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350"
:row-style="rowStyle" :row-style="rowStyle"
@ -302,6 +310,7 @@ export default {
storageList: [], storageList: [],
selectRlVisible: false, selectRlVisible: false,
dialogTableVisible: false, dialogTableVisible: false,
sitcomScan: false,
}; };
}, },
components: { components: {
@ -366,6 +375,14 @@ export default {
this.getList(); this.getList();
} }
}, },
enterKey(event) {
if (this.sitcomScan) {
return;
} else {
this.addCode(event);
}
},
addCode(event) { addCode(event) {
if (event == null) { if (event == null) {
this.$refs.inputRef.focus(); this.$refs.inputRef.focus();
@ -552,7 +569,6 @@ export default {
}, },
selectBindRl(row) { selectBindRl(row) {
let query = { let query = {
id: this.curRow.id, id: this.curRow.id,

@ -124,7 +124,13 @@
<!-- >打印订单--> <!-- >打印订单-->
<!-- </el-button--> <!-- </el-button-->
<!-- >--> <!-- >-->
<el-button
type="text"
size="small"
@click.native="handleDetailForm(scope.$index, scope.row)"
>编辑
</el-button
>
<div v-if="scope.row.enableSupplementOrder"> <div v-if="scope.row.enableSupplementOrder">
<el-button <el-button
type="text" type="text"
@ -133,6 +139,7 @@
平衡补单 平衡补单
</el-button> </el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -147,11 +154,11 @@
</el-card> </el-card>
<el-card class="el-card"> <el-card class="el-card">
<el-row style="margin-bottom: 20px;"> <!-- <el-row style="margin-bottom: 20px;">-->
<el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button> <!-- <el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button>-->
<el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button> <!-- <el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button>-->
<el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button> <!-- <el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button>-->
</el-row> <!-- </el-row>-->
<el-table v-loading="detailLoading" <el-table v-loading="detailLoading"
:data="detailList" :data="detailList"
@ -267,158 +274,23 @@
</div> </div>
</el-dialog> </el-dialog>
<!--<el-dialog--> <el-dialog
<!-- title="配货"--> title="单据设置"
<!-- :visible.sync="distributionVisible"--> :visible.sync="stockOrderEditVisible"
<!-- width="60%"--> width="80%"
<!-- v-if="distributionVisible"--> v-if="stockOrderEditVisible"
<!-- @close='closeDialog'--> @close='closeDialog'
<!--&gt;--> :close-on-click-modal="false"
<!-- <stockOrderDistribution--> :close-on-press-escape="false"
<!-- :closeDialog="closeDialog"--> >
<!-- :idQuery="idQuery"--> <StockOrderEdit
<!-- ></stockOrderDistribution>--> :closeDialog="closeDialog"
<!--</el-dialog>--> :detailList="detailList"
<!--<el-dialog-->
<!-- title="编辑"-->
<!-- :visible.sync="detailFormVisible"-->
<!-- :before-close="hideDetailForm"-->
<!-- width="85%"-->
<!-- top="5vh"-->
<!--&gt;-->
<!-- <el-form :model="detailFormData" :rules="detailFormRules" ref="dataForm">-->
<!-- <el-row :gutter="20">--> ></StockOrderEdit>
<!-- <el-col :span="3">--> </el-dialog>
<!-- <div class="ao-text">-->
<!-- <span>产品通用名</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="productName">-->
<!-- <el-input v-model="detailFormData.productName" auto-complete="off"-->
<!-- :disabled="true"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>包装规格</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="spec">-->
<!-- <el-input v-model="detailFormData.spec" auto-complete="off" :disabled="true"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>单据数量</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="count">-->
<!-- <el-input v-model="detailFormData.count" auto-complete="off" :disabled="true"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>实际数量</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="reCount">-->
<!-- <el-input v-model="detailFormData.reCount" auto-complete="off" :disabled="true"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>生产日期</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="productDate">-->
<!-- <el-input v-model="detailFormData.productDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>失效日期</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="expireDate">-->
<!-- <el-input v-model="detailFormData.expireDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>批次号</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="batchNo">-->
<!-- <el-input v-model="detailFormData.batchNo" auto-complete="off" :disabled="false"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- <div class="ao-text">-->
<!-- <span>扫码数量</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="7">-->
<!-- <el-form-item prop="sweepCount">-->
<!-- <el-input v-model="detailFormData.sweepCount" auto-complete="off" :disabled="false"-->
<!-- oninput="value=value.replace(/[^\d]/g,'')"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click.native="hideDetailForm">取消</el-button>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- @click.native="submitUploadDetail()"-->
<!-- :loading="detailFormLoading"-->
<!-- >提交-->
<!-- </el-button-->
<!-- >-->
<!-- </div>-->
<!--</el-dialog>-->
<!--<el-dialog-->
<!-- title="码详情"-->
<!-- :visible.sync="qrcodeDetailVisible"-->
<!-- width="70%"-->
<!-- v-if="qrcodeDetailVisible"-->
<!-- @close='closeQRCodeDetailDialog'-->
<!--&gt;-->
<!-- <stockOrderQRCodeDetail-->
<!-- :closeDialog="closeQRCodeDetailDialog"-->
<!-- :idQuery="idQuery"-->
<!-- ></stockOrderQRCodeDetail>-->
<!--</el-dialog>-->
<!--<el-dialog-->
<!-- title="码管理"-->
<!-- :visible.sync="qrcodeExportVisible"-->
<!-- width="60%"-->
<!-- v-if="qrcodeExportVisible"-->
<!-- @close='closeQRCodeExportDialog'-->
<!--&gt;-->
<!-- <stockQRCodeExport-->
<!-- :closeDialog="closeQRCodeExportDialog"-->
<!-- :idQuery="idQuery"-->
<!-- ></stockQRCodeExport>-->
<!--</el-dialog>-->
</div> </div>
</template> </template>
@ -439,6 +311,7 @@ import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile}
import store from "../../store"; import store from "../../store";
import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType"; import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse"; import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import StockOrderEdit from "@/views/warehouse/stockOrderEdit";
export default { export default {
name: "stockOrderDelSearch", name: "stockOrderDelSearch",
@ -505,6 +378,7 @@ export default {
}, },
isSp: store.getters.customerId, isSp: store.getters.customerId,
detailFormVisible: false, detailFormVisible: false,
stockOrderEditVisible: false,
detailFormData: {}, detailFormData: {},
detailFormLoading: false, detailFormLoading: false,
haveDistributionVisible: true, haveDistributionVisible: true,
@ -849,11 +723,12 @@ export default {
}, },
// //
handleDetailForm(index, row) { handleDetailForm(index, row) {
this.detailFormVisible = true; // this.detailFormVisible = true;
this.detailFormData = {}; // this.detailFormData = {};
if (row !== null) { // if (row !== null) {
this.detailFormData = Object.assign({}, row); // this.detailFormData = Object.assign({}, row);
} // }
this.stockOrderEditVisible = true;
}, },
hideDetailForm() { hideDetailForm() {
// //
@ -950,6 +825,7 @@ export default {
stockOrderDistribution, stockOrderDistribution,
stockOrderQRCodeDetail, stockOrderQRCodeDetail,
stockQRCodeExport, stockQRCodeExport,
StockOrderEdit
}, },
filters: { filters: {
statusFilterType(status) { statusFilterType(status) {

@ -0,0 +1,269 @@
<template>
<div>
<el-card class="el-card">
<el-row style="margin-bottom: 20px;">
<el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button>
<el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button>
<el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button>
</el-row>
<el-table v-loading="detailLoading"
:data="detailList"
@selection-change="changeFun"
style="width: 100%">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="产品通用名" width="200" prop="productName"></el-table-column>
<el-table-column label="包装规格" width="200" prop="spec"></el-table-column>
<el-table-column label="批次号" width="100" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate"></el-table-column>
<el-table-column label="失效日期" width="120" prop="expireDate"></el-table-column>
<el-table-column label="单据数量" width="100" prop="count"></el-table-column>
<el-table-column label="实际数量" width="100" prop="reCount"></el-table-column>
<el-table-column label="价格" width="120" prop="price"></el-table-column>
<el-table-column label="销售清单号(第二票)" width="180" prop="secSalesListNo">
<template slot-scope="scope">
<el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.secSalesListNo"
placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="销售发票号(第一票)" width="180" prop="firstSalesInvNo">
<template slot-scope="scope">
<el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.firstSalesInvNo"
placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="销售发票号(第二票)" width="180" prop="secSalesInvNo">
<template slot-scope="scope">
<el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.secSalesInvNo"
placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="发票日期" width="150" prop="invoiceDate">
<template slot-scope="scope">
<el-date-picker :disabled="scope.$index !== currentCheckIndex" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
v-model="scope.row.invoiceDate" style="width: 100%;"></el-date-picker>
</template>
</el-table-column>
<el-table-column label="操作" width="150" prop="price" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
>编辑
</el-button>
<el-button
type="text"
size="small"
@click="handleSave(scope.$index, scope.row)"
>保存
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="detailQuery.limit"
@current-change="detailHandleCurrentChange"
layout="prev, pager, next"
:total="detailTotal"
>
</el-pagination>
</el-card>
<el-dialog v-bind:width="'25%'" :visible.sync="salesListNoFormVisible" append-to-body>
<el-form :model="batchForm">
<label></label>
<el-form-item label="销售清单:" :label-width="formLabelWidth">
<el-input style="width: 80%;;" v-model="batchForm.secSalesListNo" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="salesListNoFormVisible = false"> </el-button>
<el-button type="primary" @click="batchSetParams('1','salesListNo')"> </el-button>
</div>
</el-dialog>
<el-dialog v-bind:width="'25%'" :visible.sync="firstSalesInvNoFormVisible" append-to-body>
<el-form :model="batchForm">
<label></label>
<el-form-item label="销售发票第一票:" :label-width="formLabelWidth">
<el-input style="width: 80%;;" v-model="batchForm.firstSalesInvNo" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="firstSalesInvNoFormVisible = false"> </el-button>
<el-button type="primary" @click="batchSetParams('1','firstSalesInvNo')"> </el-button>
</div>
</el-dialog>
<el-dialog v-bind:width="'25%'" :visible.sync="secSalesInvNoFormVisible" append-to-body>
<el-form :model="batchForm">
<label></label>
<el-form-item label="销售发票第二票:" :label-width="formLabelWidth">
<el-input style="width: 80%;" v-model="batchForm.secSalesInvNo" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="发票日期:" :label-width="formLabelWidth">
<el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
v-model="batchForm.invoiceDate" style="width: 80%;"></el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="secSalesInvNoFormVisible = false"> </el-button>
<el-button type="primary" @click="batchSetParams('1','secSalesInvNo')"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {stockOrderDetail, updateStockOrderDetail} from "@/api/warehouse/stockOrder";
export default {
name: "stockOrderEdit",
props: {
detailList: {
type: Object,
required: true,
},
},
data() {
return {
detailQuery: {
orderIdFk: "",
page: 1,
limit: 20
},
batchForm: {
secSalesListNo: '',
firstSalesInvNo: '',
secSalesInvNo: '',
invoiceDate: ''
},
multipId: [],
currentCheckIndex: -1,
salesListNoFormVisible: false,
firstSalesInvNoFormVisible: false,
secSalesInvNoFormVisible: false,
}
},
methods: {
handleEdit(index, row) {
this.currentCheckIndex = index;
console.log(this.currentCheckIndex)
},
handleSave(index, row) {
this.currentCheckIndex = -1;
updateStockOrderDetail(row).then((res) => {
if (res.code == 20000) {
this.$message.success(res.data);
}
})
},
changeFun(row) {
let _this = this;
_this.multipId = []; //ID
row.forEach((item) => {
_this.multipId.push(item.id);
})
console.log(this.multipId);
},
batchSetParams(flag, type) {
if (flag == '1' && type == 'salesListNo') {
this.salesListNoFormVisible = false;
this.detailList.forEach(data => {
this.multipId.forEach(id => {
if (data.id == id) {
data.secSalesListNo = this.batchForm.secSalesListNo;
//
updateStockOrderDetail(data);
}
})
});
//
Object.keys(this.batchForm).forEach(key => this.batchForm[key] = '');
} else if (flag == '1' && type == 'firstSalesInvNo') {
this.firstSalesInvNoFormVisible = false;
this.detailList.forEach(data => {
this.multipId.forEach(id => {
if (data.id == id) {
data.firstSalesInvNo = this.batchForm.firstSalesInvNo;
//
updateStockOrderDetail(data);
}
})
});
Object.keys(this.batchForm).forEach(key => this.batchForm[key] = '');
} else if (flag == '1' && type == 'secSalesInvNo') {
this.secSalesInvNoFormVisible = false;
this.detailList.forEach(data => {
this.multipId.forEach(id => {
if (data.id == id) {
data.secSalesInvNo = this.batchForm.secSalesInvNo;
data.invoiceDate = this.batchForm.invoiceDate;
//
updateStockOrderDetail(data);
}
})
});
Object.keys(this.batchForm).forEach(key => this.batchForm[key] = '');
} else {
if (this.multipId.length == 0) {
this.$message.warning("请选择数据");
} else {
switch (type) {
case 'salesListNo':
this.salesListNoFormVisible = true;
return;
case 'firstSalesInvNo':
this.firstSalesInvNoFormVisible = true;
return;
case 'secSalesInvNo':
this.secSalesInvNoFormVisible = true;
return;
default:
return;
}
}
}
},
detailHandleCurrentChange(val) {
this.query.page = val;
this.getStockOrderDetailList();
},
getStockOrderDetailList(row) {
if (this.$isNotBlank(row)) {
this.detailQuery.orderIdFk = row.id;
}
this.detailLoading = true;
stockOrderDetail(this.detailQuery)
.then((response) => {
console.log(response)
this.detailLoading = false;
this.detailList = response.data.list || [];
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
},
},
}
</script>
<style scoped>
</style>

@ -124,14 +124,13 @@
>单据打印 >单据打印
</el-button </el-button
> >
<!-- v-if="haveDistributionVisible"--> <el-button
<!-- <el-button--> type="text"
<!-- type="text"--> size="small"
<!-- size="small"--> @click.native="handleDetailForm(scope.$index, scope.row)"
<!-- @click.native="handleDetailForm(scope.$index, scope.row)"--> >编辑
<!-- >编辑--> </el-button
<!-- </el-button--> >
<!-- >-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -146,11 +145,11 @@
</el-card> </el-card>
<el-card class="el-card"> <el-card class="el-card">
<el-row style="margin-bottom: 20px;"> <!-- <el-row style="margin-bottom: 20px;">-->
<el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button> <!-- <el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button>-->
<el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button> <!-- <el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button>-->
<el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button> <!-- <el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button>-->
</el-row> <!-- </el-row>-->
<el-table v-loading="detailLoading" <el-table v-loading="detailLoading"
:data="detailList" :data="detailList"
@ -267,6 +266,22 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="单据设置"
:visible.sync="stockOrderEditVisible"
width="80%"
v-if="stockOrderEditVisible"
@close='closeDialog'
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<StockOrderEdit
:closeDialog="closeDialog"
:detailList="detailList"
></StockOrderEdit>
</el-dialog>
<el-dialog <el-dialog
title="单据设置" title="单据设置"
@ -276,11 +291,11 @@
@close='closeDialog' @close='closeDialog'
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:before-close="handleClose" append-to-body
> >
<stockOrderEditDistribution <stockOrderEditDistribution
:closeDialog="closeDialog" :closeDialog="closeDialog"
:idQuery="idQuery" :detailList="detailList"
></stockOrderEditDistribution> ></stockOrderEditDistribution>
</el-dialog> </el-dialog>
@ -456,6 +471,7 @@ import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile}
import store from "../../store"; import store from "../../store";
import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType"; import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse"; import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import StockOrderEdit from "@/views/warehouse/stockOrderEdit";
export default { export default {
name: "stockOrderSearch", name: "stockOrderSearch",
@ -501,6 +517,7 @@ export default {
id: "", id: "",
}, },
distributionSetVisible: false, distributionSetVisible: false,
stockOrderEditVisible: false,
distributionVisible: false, distributionVisible: false,
detailFormRules: { detailFormRules: {
batchNo: [ batchNo: [
@ -602,7 +619,7 @@ export default {
this.currentCheckIndex = index; this.currentCheckIndex = index;
console.log(this.currentCheckIndex) console.log(this.currentCheckIndex)
}, },
handleSave(index, row) { handleSave (index, row) {
this.currentCheckIndex = -1; this.currentCheckIndex = -1;
updateStockOrderDetail(row).then((res) => { updateStockOrderDetail(row).then((res) => {
@ -871,11 +888,14 @@ export default {
}, },
// //
handleDetailForm(index, row) { handleDetailForm(index, row) {
this.detailFormVisible = true; // this.detailFormVisible = true;
this.detailFormData = {}; // this.detailFormData = {};
if (row !== null) { // if (row !== null) {
this.detailFormData = Object.assign({}, row); // this.detailFormData = Object.assign({}, row);
}
this.stockOrderEditVisible = true;
}, },
hideDetailForm() { hideDetailForm() {
// //
@ -943,14 +963,17 @@ export default {
} }
}); });
} }
}, }
,
components: { components: {
StockOrderEdit,
draggable, draggable,
stockOrderDistribution, stockOrderDistribution,
stockOrderEditDistribution, stockOrderEditDistribution,
stockOrderQRCodeDetail, stockOrderQRCodeDetail,
stockQRCodeExport, stockQRCodeExport,
}, }
,
filters: { filters: {
statusFilterType(status) { statusFilterType(status) {
const statusMap = { const statusMap = {
@ -958,7 +981,8 @@ export default {
1: "success" 1: "success"
}; };
return statusMap[status]; return statusMap[status];
}, }
,
statusFilterName(status) { statusFilterName(status) {
const statusMap = { const statusMap = {
"1": "草稿", "1": "草稿",
@ -967,7 +991,8 @@ export default {
"4": "已校验", "4": "已校验",
}; };
return statusMap[status]; return statusMap[status];
}, }
,
typeFilterName(type) { typeFilterName(type) {
const typeMap = { const typeMap = {
1: "预入库", 1: "预入库",
@ -975,7 +1000,8 @@ export default {
}; };
return typeMap[type]; return typeMap[type];
} }
}, }
,
created() { created() {
this.getStorage(); this.getStorage();
this.getBusType(); this.getBusType();

Loading…
Cancel
Save