修改bug
parent
14afd561a5
commit
e78f5fe43e
@ -0,0 +1,561 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<el-card>
|
||||
<div style="
|
||||
float: left;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
margin-bottom: 8px;
|
||||
">
|
||||
<span>产品标识:</span>
|
||||
</div>
|
||||
<el-table :data="detailList" style="width: 100%" border key="3" highlight-current-row>
|
||||
<el-table-column label="产品最小销售标识" prop="nameCode" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="物资名称" prop="cpmctymc" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装单位" prop="packUnit" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<el-form
|
||||
:model="editQuery"
|
||||
:rules="rules"
|
||||
ref="editQuery"
|
||||
label-width="100px"
|
||||
style="margin-top: 20px"
|
||||
>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>最小包装单元内包含使用单元数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.zxxsbzbhsydysl"
|
||||
></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>包含下级产品编码: </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>包含最小销售包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.bhzxxsbzsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品基本信息</p>
|
||||
</template>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>物资名称: </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>规格型号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.ggxh"
|
||||
></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>产品类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.hchzsb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>分类编码: </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>医疗器械注册人: </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>注册人英文名称: </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>器械类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.cplx"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>生产企业: </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>商品条码: </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>医保编码: </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>统一社会信用号: </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>注册证/备案号: </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>产品描述: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="editQuery.cpms"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title">
|
||||
<p class="form-title">生产标识基本信息</p>
|
||||
</template>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含批号: </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>是否包含序列号: </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>是否包含生产日期: </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>是否包含失效日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
v-model="editQuery.scbssfbhsxrq"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="4">
|
||||
<template slot="title">
|
||||
<p class="form-title">包装标识信息</p>
|
||||
</template>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>上级产品编码: </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>包装级别: </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>包装层级: </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>包含下级包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="editQuery.bhxjsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
|
||||
</el-form>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {filterByUuid} from "@/api/basic/udiRlCompany";
|
||||
|
||||
export default {
|
||||
name: "SelectDIDetailDialog",
|
||||
props: {
|
||||
editQuery: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeNames: ['1'],
|
||||
detailList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDetailList(detailQuery) {
|
||||
filterByUuid(detailQuery)
|
||||
.then((response) => {
|
||||
this.detailList = response.data || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.detailList = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
created() {
|
||||
//获取产品标识列表
|
||||
let ttquery = {
|
||||
uuid: this.editQuery.uuid,
|
||||
};
|
||||
this.getDetailList(ttquery);
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.form-title {
|
||||
font-size: 16px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
padding-bottom: 17px;
|
||||
padding-top: 17px;
|
||||
}
|
||||
|
||||
.itemTag {
|
||||
float: left;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
padding-right: 10px;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 13px;
|
||||
font-family: "Microsoft YaHei";
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.edit-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* .el-col {
|
||||
border-radius: 4px;
|
||||
flex-wrap: wrap;
|
||||
} */
|
||||
|
||||
.el-table .cell.el-tooltip {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.form-title {
|
||||
font-size: 16px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
padding-bottom: 17px;
|
||||
padding-top: 17px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,812 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border key="3"
|
||||
@current-change="handleDetail">
|
||||
<el-table-column label="产品DI标识" prop="nameCode" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-form :model="detailQuery" :rules="rules" ref="detailQuery" label-width="120px" style="margin-top: 20px">
|
||||
<el-card>
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="注册企业:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
disabled
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.companyName"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医疗器械注册人:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
disabled
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品通用名称:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
disabled
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cpmctymc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="注册证/备案号:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small" disabled
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.zczbhhzbapzbh"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" class="edit-row">
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="规格型号:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
disabled
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ggxh"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品描述:" class="query-form-item" show-overflow-tooltip>
|
||||
<el-input
|
||||
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cpms"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <el-row type="flex" class="edit-row">-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="产品描述:" class="query-form-item" show-overflow-tooltip>-->
|
||||
<!-- <el-input-->
|
||||
|
||||
<!-- style="width: 80%"-->
|
||||
<!-- size="small"-->
|
||||
<!-- :disabled="true"-->
|
||||
<!-- splaceholder="请输入内容"-->
|
||||
<!-- v-model="detailQuery.cpms"-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="计量单位:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.measname"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产企业:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.manufactory"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医疗器械分类:" class="query-form-item">
|
||||
<el-select
|
||||
v-model="detailQuery.categoryLevel"
|
||||
placeholder="医疗器械分类"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
>
|
||||
<el-option label="一类" value="一类"></el-option>
|
||||
<el-option label="二类" value="二类"></el-option>
|
||||
<el-option label="三类" value="三类"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="集采类型:" class="query-form-item">
|
||||
<el-select
|
||||
v-model="detailQuery.groupBuy"
|
||||
placeholder="请选择集采类型"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
>
|
||||
<el-option label="集采" :value="1"></el-option>
|
||||
<el-option label="非集采" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医保类型:" class="query-form-item">
|
||||
<el-select
|
||||
v-model="detailQuery.chsType"
|
||||
placeholder="医保类型"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
>
|
||||
<el-option label="医保" :value="1"></el-option>
|
||||
<el-option label="非医保" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="进口类型:" class="query-form-item">
|
||||
<el-select
|
||||
v-model="detailQuery.importType"
|
||||
placeholder="请选进口类型"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
>
|
||||
<el-option label="进口" :value="1"></el-option>
|
||||
<el-option label="非进口" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="商品名称:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.spmc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="填报者身份:" class="query-form-item">
|
||||
<el-select
|
||||
v-model="detailQuery.companyType"
|
||||
placeholder="请选择填报者身份"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 80%"
|
||||
>
|
||||
<el-option label="本企业" :value="1"></el-option>
|
||||
<el-option label="代理商" :value="2"></el-option>
|
||||
<el-option label="购买方" :value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" class="edit-row">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="代理起始时间:" class="query-form-item">
|
||||
<el-date-picker
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
v-model="detailQuery.agengtStartDate"
|
||||
type="date"
|
||||
style="width: 80%"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="代理截止时间:" class="query-form-item">
|
||||
<el-date-picker
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
v-model="detailQuery.agengtEndDate"
|
||||
type="date"
|
||||
style="width: 80%"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品DI标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含最小销售包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>包含下级产品编码: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bhxjcpbm"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>最小包装单元内包含使用单元数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.zxxsbzbhsydysl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品通用名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.cpmctymc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品DI标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>规格型号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ggxh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>器械类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cplx"
|
||||
></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>产品类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.hchzsb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>分类编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>商品条码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sptm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医保编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>医疗器械注册人: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="ylqxzcrbarmc"
|
||||
v-model="detailQuery.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册人英文名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>统一社会信用号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.tyshxydm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册证/备案号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>生产企业: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品描述: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cpms"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title">
|
||||
<p class="form-title">生产标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含批号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhph"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含序列号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
v-model="detailQuery.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>是否包含生产日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhscrq"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含失效日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
v-model="detailQuery.scbssfbhsxrq"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="4">
|
||||
<template slot="title">
|
||||
<p class="form-title">包装标识信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>上级产品编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sjcpbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包装级别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.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>包装层级: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bzcj"
|
||||
:disabled="true"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含下级包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.bhxjsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
</el-card>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {filterByUuid} from "@/api/basic/udiRlCompany";
|
||||
import {filterCompany, deleteCompany, updateCompany} from "@/api/basic/manuCompany";
|
||||
|
||||
export default {
|
||||
name: "UdiBasicProductEdit",
|
||||
props: {
|
||||
detailQuery: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
checked: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
closeDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sysList: [],
|
||||
detailList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDetailList() {
|
||||
let ttquery = {
|
||||
uuid: this.detailQuery.uuid
|
||||
};
|
||||
this.loading = true;
|
||||
filterByUuid(ttquery)
|
||||
.then((response) => {
|
||||
this.isUseDyCheck = false;
|
||||
this.loading = false;
|
||||
this.detailList = response.data || [];
|
||||
this.detailList.forEach((item, index, array) => {
|
||||
if (item.zxxsbzbhsydysl > 1) {
|
||||
this.isUseDyCheck = true;
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.detailList = [];
|
||||
});
|
||||
},
|
||||
|
||||
onAddSubmit() {
|
||||
updateCompany(this.detailQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.getList();
|
||||
this.closeDialog();
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.cancelDialog();
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
cancelDialog() {
|
||||
this.closeDialog();
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getDetailList(this.detailQuery.id);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.itemTag {
|
||||
float: left;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
padding-right: 10px;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 13px;
|
||||
font-family: "Microsoft YaHei";
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.edit-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.el-table .cell.el-tooltip {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.form-title {
|
||||
font-size: 16px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
padding-bottom: 17px;
|
||||
padding-top: 17px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,579 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" label-width="120px" v-show="showSearch">
|
||||
<el-row style=" display:flex; flex-wrap: wrap; ">
|
||||
<template v-for="(item, index) in queryList" >
|
||||
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">
|
||||
<el-input
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="dict in item.lableRuleObj"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
@change="executeFuc($event,'5',item.checkRules)"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
filterable
|
||||
remote
|
||||
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="item in options[item.clickFuc]"
|
||||
:key="item.code"
|
||||
:label="item.label"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
v-model="actDateRange"
|
||||
type="daterange"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:style="`width:${item.width+'px'}`"
|
||||
value-format="yyyy-MM-dd"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
type="date"
|
||||
:placeholder="item.columnDesc"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="top-right-btn">
|
||||
<el-button-group style="display:flex;">
|
||||
<el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button>
|
||||
<el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
|
||||
<el-button type="primary" icon="el-icon-bottom-right" @click="selectProduct()">新增</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-divider style="margin: 15px"></el-divider>
|
||||
|
||||
<el-table v-loading="loading" :data="list" key="1" style="width: 100%"
|
||||
border>
|
||||
<template v-for="(item, index) in tableHeader">
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'id' && executeEval(row,item.expression,true)"
|
||||
type="index" :label="item.columnDesc"></el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'selection'"
|
||||
type="selection"
|
||||
:width="item.width"
|
||||
:selectable="(row,number) => executeFuc(row,'3',item.clickFuc)"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ item.lableRuleObj[scope.row[item.columnName]] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
|
||||
<span>{{ item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName] }}</span>
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'button' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:width="item.width"
|
||||
:key="item.columnName"
|
||||
fixed="right"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj"
|
||||
:type="buttonItem.type"
|
||||
:size="buttonItem.size"
|
||||
:style="buttonItem.style"
|
||||
:key="buttonItem"
|
||||
v-if="executeEval(scope.row,buttonItem.hasPermi,true)"
|
||||
:disabled="executeEval(scope.row,buttonItem.disabledFuc,false)"
|
||||
@click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)"
|
||||
>{{ buttonItem.name }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'text' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ scope.row[item.columnName] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
|
||||
<el-dialog
|
||||
title="产品信息详情"
|
||||
:visible.sync="editDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
width="80%"
|
||||
v-if="editDialogVisible"
|
||||
>
|
||||
<selectDetail
|
||||
:detailQuery="detailQuery"
|
||||
:checked="checked"
|
||||
@closeUdi="closeUdi"
|
||||
>
|
||||
</selectDetail>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="选入医疗器械信息"
|
||||
:visible.sync="selectProductVisible"
|
||||
width="85%"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
v-if="selectProductVisible"
|
||||
>
|
||||
<selectLocalUdi
|
||||
filterType="2"
|
||||
:closeDialog="closeDialog"
|
||||
:companyId="filterQuery.companyIdFk"
|
||||
></selectLocalUdi>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="生产产品信息-编辑"
|
||||
:visible.sync="editDiDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
width="80%"
|
||||
v-if="editDiDialogVisible"
|
||||
>
|
||||
<ProductEdit
|
||||
:detailQuery="editFormat"
|
||||
:uuid="uuid"
|
||||
@closeDialog="closeUdi"
|
||||
></ProductEdit>
|
||||
|
||||
<div style="text-align: center; margin-top: 12px">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="search"
|
||||
@click="onAddSubmit(false)"
|
||||
>提交
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="search"
|
||||
@click="cancelDialog"
|
||||
>取消
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:limit.sync="filterQuery.limit"
|
||||
:page.sync="filterQuery.page"
|
||||
@pagination="handleCurrentChange"
|
||||
></pagination>
|
||||
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import selectLocalUdi from "@/views/basic/client/manu/UdiInfoSelectLocalUdiManu";
|
||||
import selectDetail from "@/views/basic/client/manu/udilnfoManageSpDetailManu";
|
||||
import {seachCompanyOptimize} from "@/api/basic/udiRlCompany";
|
||||
import {filterCompany, deleteCompany, updateCompany} from "@/api/basic/manuCompany";
|
||||
import ProductEdit from "@/views/basic/client/manu/productEditManu";
|
||||
import {executeFuc, getHead} from "@/utils/customConfig";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
filterQuery: {
|
||||
unionCode: null,
|
||||
udiCode: null,
|
||||
ylqxzcrbarmc: "",
|
||||
cpmctymc: "",
|
||||
nameCode: "",
|
||||
ggxh: null,
|
||||
bussinessStatus: this.$route.query.bussinessStatus,
|
||||
page: 1,
|
||||
limit: 20,
|
||||
addType: 1,
|
||||
thrPiId: null,
|
||||
filterType: null,
|
||||
companyName: null,
|
||||
companyIdFk: null,
|
||||
},
|
||||
fromOptions: [],
|
||||
editQuery: null,
|
||||
detailQuery: null,
|
||||
defaultSys: null,
|
||||
isImport: false,
|
||||
isImportUdi: false,
|
||||
isUploadSmp: false,
|
||||
isSpCombine: false,
|
||||
isImportFile: false,
|
||||
uploadFileUrl: null,
|
||||
checked: false,
|
||||
list: [],
|
||||
detailList: [],
|
||||
sysList: [],
|
||||
filterList: [],
|
||||
total: 0,
|
||||
tableHeader:[],
|
||||
queryList:[],
|
||||
fromList:[],
|
||||
options: {
|
||||
findMethod:[]
|
||||
},
|
||||
thirdNo: "",
|
||||
uuid: "111",
|
||||
originUuid: null,
|
||||
thirdId: null,
|
||||
relId: "",
|
||||
thisData: {
|
||||
nameCode: null,
|
||||
cpmctymc: null,
|
||||
ggxh: null
|
||||
},
|
||||
selectProductVisible: false,
|
||||
multipleSelection: [],
|
||||
editDialogVisible: false, //详情
|
||||
selectUdiDialogVisible: false, //关联选入
|
||||
selectErpDialogVisible: false, //选入ERP产品
|
||||
selectLocalVisible: false, //关联UDI
|
||||
selectVersionVisible: false,
|
||||
isUseDyCheck: false,
|
||||
loading: false,
|
||||
activeNames: ['1'],
|
||||
editSingleDiDialogVisible: false,
|
||||
companyTypeMap: {
|
||||
1: "生产企业",
|
||||
2: "代理商",
|
||||
3: "购买方",
|
||||
},
|
||||
editDiDialogVisible: false,
|
||||
editFormat: {},
|
||||
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.filterQuery = {
|
||||
lockStatus: null,
|
||||
unionCode: null,
|
||||
udiCode: null,
|
||||
ylqxzcrbarmc: "",
|
||||
cpmctymc: "",
|
||||
thrPiId: null,
|
||||
nameCode: "",
|
||||
ggxh: null,
|
||||
page: 1,
|
||||
limit: 20,
|
||||
addType: 1,
|
||||
};
|
||||
this.total = 0;
|
||||
this.list = [];
|
||||
this.getList();
|
||||
},
|
||||
search() {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
getList() {
|
||||
this.loading = true;
|
||||
filterCompany(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;
|
||||
});
|
||||
},
|
||||
keyup_submit(event) {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
event.target.select();
|
||||
},
|
||||
handleDetail(row) {
|
||||
this.editQuery = row;
|
||||
},
|
||||
deleteOrders(data) {
|
||||
this.loading = true;
|
||||
let tquery = {
|
||||
id: data.id + "",
|
||||
};
|
||||
|
||||
deleteCompany(tquery)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
if (response.code == 20000) {
|
||||
this.getList();
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
|
||||
deleteDialog(_this,rowId) {
|
||||
_this.$confirm("此操作将永久删除该产品信息, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
_this.deleteOrders(rowId);
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
selectProduct() {
|
||||
this.selectProductVisible = true;
|
||||
},
|
||||
|
||||
cancelDialog() {
|
||||
this.editDiDialogVisible = false;
|
||||
this.editDialogVisible = false;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.filterQuery.page = val.page;
|
||||
this.getList();
|
||||
},
|
||||
handleModifyClick(_this,row) {
|
||||
_this.uuid = row.uuid;
|
||||
_this.isImport = false;
|
||||
_this.thisData = row;
|
||||
_this.editDialogVisible = true;
|
||||
_this.detailQuery = row;
|
||||
_this.checked = row.isUseDy == 1;
|
||||
},
|
||||
|
||||
closeUdi(val) {
|
||||
this.selectUdiDialogVisible = false;
|
||||
this.selectErpDialogVisible = false;
|
||||
this.selectLocalVisible = false;
|
||||
this.editDiDialogVisible = false;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
selectVersion() {
|
||||
this.selectVersionVisible = true;
|
||||
this.uuid = this.editQuery.uuid;
|
||||
this.originUuid = this.editQuery.originUuid;
|
||||
},
|
||||
closeDialog() {
|
||||
this.selectErpDialogVisible = false;
|
||||
this.selectLocalVisible = false;
|
||||
this.selectVersionVisible = false;
|
||||
this.selectProductVisible = false;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
|
||||
findMethod(_this,query) {
|
||||
_this.fromOptions = [];
|
||||
let cQuery = {
|
||||
searchKey: query,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
seachCompanyOptimize(cQuery)
|
||||
.then((response) => {
|
||||
_this.loading = false;
|
||||
_this.options.findMethod = response.data.list || [];
|
||||
})
|
||||
.catch(() => {
|
||||
_this.loading = false;
|
||||
_this.options.findMethod= [];
|
||||
});
|
||||
},
|
||||
|
||||
diEdit(_this,row) {
|
||||
_this.uuid = row.uuid;
|
||||
_this.editFormat = JSON.parse(JSON.stringify(row));
|
||||
_this.editDiDialogVisible = true;
|
||||
},
|
||||
|
||||
onAddSubmit(relSubmit) {
|
||||
this.editFormat.relSubmit = relSubmit;
|
||||
updateCompany(this.editFormat)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.getList();
|
||||
this.cancelDialog();
|
||||
this.editDiDialogVisible = false;
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.cancelDialog();
|
||||
});
|
||||
},
|
||||
executeFuc(row,type,clickFuc,value){
|
||||
return executeFuc(this,row,type,clickFuc,value);
|
||||
},
|
||||
executeEval(row,expression,defaultRet){
|
||||
if(expression){
|
||||
return eval(expression);
|
||||
}
|
||||
return defaultRet;
|
||||
}
|
||||
}
|
||||
,
|
||||
mounted() {
|
||||
}
|
||||
,
|
||||
components: {
|
||||
selectLocalUdi,
|
||||
selectDetail, ProductEdit
|
||||
|
||||
}
|
||||
,
|
||||
created() {
|
||||
getHead("client-productManu","1").then((re) => {
|
||||
// 处理返回的数据
|
||||
this.tableObj = re.data;
|
||||
this.tableHeader = re.data.tableList;
|
||||
this.queryList = re.data.queryList;
|
||||
this.fromList = re.data.fromList;
|
||||
this.getList()
|
||||
});
|
||||
this.findMethod(this);
|
||||
}
|
||||
,
|
||||
}
|
||||
;
|
||||
</script>
|
||||
<style scoped>
|
||||
|
||||
|
||||
.el-table .cell.el-tooltip {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
|
||||
.itemTag {
|
||||
float: left;
|
||||
text-align: left;
|
||||
margin-top: 10px;
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 13px;
|
||||
font-family: "Microsoft YaHei";
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.form-title {
|
||||
font-size: 16px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
padding-bottom: 17px;
|
||||
padding-top: 17px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,558 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border key="3"
|
||||
@current-change="handleDetail">
|
||||
<el-table-column label="产品DI标识" 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="detailQuery" :rules="rules" ref="detailQuery" label-width="100px" style="margin-top: 20px">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品DI标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含最小销售包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>包含下级产品编码: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bhxjcpbm"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>最小包装单元内包含使用单元数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.zxxsbzbhsydysl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.cpmctymc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品DI标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>规格型号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ggxh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>器械类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cplx"
|
||||
></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>产品类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.hchzsb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>分类编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>商品条码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sptm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医保编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>医疗器械注册人: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="ylqxzcrbarmc"
|
||||
v-model="detailQuery.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册人英文名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>统一社会信用号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.tyshxydm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册证/备案号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.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>生产企业: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品描述: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cpms"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title">
|
||||
<p class="form-title">生产标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含批号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhph"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含序列号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
v-model="detailQuery.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>是否包含生产日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhscrq"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含失效日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
v-model="detailQuery.scbssfbhsxrq"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="4">
|
||||
<template slot="title">
|
||||
<p class="form-title">包装标识信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>上级产品编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sjcpbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包装级别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.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>包装层级: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bzcj"
|
||||
:disabled="true"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含下级包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.bhxjsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
|
||||
</el-form>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {filterByUuid} from "@/api/basic/udiRlCompany";
|
||||
|
||||
export default {
|
||||
name: "udilnfoManageSpDetail",
|
||||
props: {
|
||||
detailQuery: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
checked: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sysList: [],
|
||||
detailList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDetailList() {
|
||||
let ttquery = {
|
||||
uuid: this.detailQuery.uuid
|
||||
};
|
||||
this.loading = true;
|
||||
filterByUuid(ttquery)
|
||||
.then((response) => {
|
||||
this.isUseDyCheck = false;
|
||||
this.loading = false;
|
||||
this.detailList = response.data || [];
|
||||
this.detailList.forEach((item, index, array) => {
|
||||
if (item.zxxsbzbhsydysl > 1) {
|
||||
this.isUseDyCheck = true;
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.detailList = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getDetailList(this.detailQuery.id);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.itemTag {
|
||||
float: left;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
padding-right: 10px;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 13px;
|
||||
font-family: "Microsoft YaHei";
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.edit-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.el-table .cell.el-tooltip {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.form-title {
|
||||
font-size: 16px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
padding-bottom: 17px;
|
||||
padding-top: 17px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,371 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" class="query-form" size="mini" label-width="120px" v-show="showSearch" :inline="true">
|
||||
<el-row style=" display:flex; flex-wrap: wrap; ">
|
||||
<template v-for="(item, index) in queryList" >
|
||||
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">
|
||||
<el-input
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="dict in item.lableRuleObj"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
@change="executeFuc($event,'5',item.checkRules)"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
filterable
|
||||
remote
|
||||
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="item in options[item.clickFuc]"
|
||||
:key="item.code"
|
||||
:label="item.label"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
v-model="actDateRange"
|
||||
type="daterange"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:style="`width:${item.width+'px'}`"
|
||||
value-format="yyyy-MM-dd"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
type="date"
|
||||
:placeholder="item.columnDesc"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="top-right-btn">
|
||||
<el-button-group>
|
||||
<el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh"
|
||||
@click="onReset"
|
||||
>重置
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" @click="onSubmit"
|
||||
>查询
|
||||
</el-button
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="(event) => addOrderMuti()">新增</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
|
||||
<template v-for="(item, index) in tableHeader">
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'id' && executeEval(row,item.expression,true)"
|
||||
type="index" :label="item.columnDesc"></el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'selection'"
|
||||
type="selection"
|
||||
:width="item.width"
|
||||
:selectable="(row,number) => executeFuc(row,'3',item.clickFuc)"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ item.lableRuleObj[scope.row[item.columnName]] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
|
||||
<span>{{ item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName] }}</span>
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'button' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:width="item.width"
|
||||
:key="item.columnName"
|
||||
fixed="right"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj"
|
||||
:type="buttonItem.type"
|
||||
:size="buttonItem.size"
|
||||
:style="buttonItem.style"
|
||||
:key="buttonItem"
|
||||
v-if="executeEval(scope.row,buttonItem.hasPermi,true)"
|
||||
:disabled="executeEval(scope.row,buttonItem.disabledFuc,false)"
|
||||
@click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)"
|
||||
>{{ buttonItem.name }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'text' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ scope.row[item.columnName] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="filterQuery.page"
|
||||
:limit.sync="filterQuery.limit"
|
||||
@pagination="handleCurrentChange"
|
||||
|
||||
></pagination>
|
||||
</el-card>
|
||||
|
||||
<el-dialog
|
||||
:title="formMap[formName]"
|
||||
:visible.sync="orderMutiSetVisible"
|
||||
:before-close="close"
|
||||
width="60%"
|
||||
v-if="orderMutiSetVisible"
|
||||
@close='closeDialog'
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
>
|
||||
<ylqxzczhManuDialog
|
||||
:closeDialog="closeDialog"
|
||||
:inputQuery="inputQuery"
|
||||
:formName="formName"
|
||||
></ylqxzczhManuDialog>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
import ylqxzczhManuDialog from "@/views/basic/client/manu/ylqxzczhManuDialog";
|
||||
import {deleteYlqxzczh, listYlqxzczh} from "@/api/basic/manuYlqxzczh";
|
||||
import {executeFuc, getHead} from "@/utils/customConfig";
|
||||
|
||||
export default {
|
||||
name: "companyPilot",
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
filterQuery: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
formName: 1,
|
||||
formMap: {
|
||||
1: "新增注册备案凭证",
|
||||
2: "编辑注册备案凭证",
|
||||
},
|
||||
inputQuery:{},
|
||||
orderMutiSetVisible: false,
|
||||
actDateRange: [],
|
||||
pickerOptions: {
|
||||
shortcuts: [
|
||||
{
|
||||
text: "最近一周",
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||
picker.$emit("pick", [start, end]);
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "最近一个月",
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||
picker.$emit("pick", [start, end]);
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "最近三个月",
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||
picker.$emit("pick", [start, end]);
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onSubmit() {
|
||||
if (this.actDateRange !== null) {
|
||||
this.filterQuery.startTime = this.actDateRange[0];
|
||||
this.filterQuery.endTime = this.actDateRange[1];
|
||||
} else {
|
||||
this.filterQuery.startTime = null;
|
||||
this.filterQuery.endTime = null;
|
||||
}
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.filterQuery = {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.getList();
|
||||
},
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.filterQuery.page = val.page;
|
||||
this.getList();
|
||||
},
|
||||
closeDialog(){
|
||||
this.orderMutiSetVisible = false;
|
||||
this.getList();
|
||||
},
|
||||
addOrderMuti(){
|
||||
this.inputQuery={
|
||||
|
||||
}
|
||||
this.formName=1;
|
||||
this.orderMutiSetVisible = true;
|
||||
},
|
||||
editDialog(_this,row){
|
||||
_this.formName=2;
|
||||
_this.inputQuery=row;
|
||||
_this.orderMutiSetVisible = true;
|
||||
},
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listYlqxzczh(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;
|
||||
});
|
||||
},
|
||||
deleteDialog(_this,row) {
|
||||
_this.$confirm("确认删除吗?", "提示", {
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
deleteYlqxzczh(row)
|
||||
.then((response) => {
|
||||
if(response.code == 20000){
|
||||
_this.getList()
|
||||
}else{
|
||||
_this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
_this.$message.error(response.message);
|
||||
});
|
||||
});
|
||||
},
|
||||
executeFuc(row,type,clickFuc,value){
|
||||
return executeFuc(this,row,type,clickFuc,value);
|
||||
},
|
||||
executeEval(row,expression,defaultRet){
|
||||
if(expression){
|
||||
return eval(expression);
|
||||
}
|
||||
return defaultRet;
|
||||
}
|
||||
},
|
||||
components: {ylqxzczhManuDialog},
|
||||
created() {
|
||||
getHead("client-ylqxzczhManu","1").then((re) => {
|
||||
// 处理返回的数据
|
||||
this.tableObj = re.data;
|
||||
this.tableHeader = re.data.tableList;
|
||||
this.queryList = re.data.queryList;
|
||||
this.fromList = re.data.fromList;
|
||||
this.getList()
|
||||
});
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -0,0 +1,449 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="el-card">
|
||||
<div>
|
||||
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" size="mini" label-width="125px" v-show="showSearch">
|
||||
|
||||
<el-row style=" display:flex; flex-wrap: wrap; ">
|
||||
<template v-for="(item, index) in queryList" >
|
||||
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">
|
||||
<el-input
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="dict in item.lableRuleObj"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-select
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:placeholder="item.columnDesc"
|
||||
@change="executeFuc($event,'5',item.checkRules)"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
filterable
|
||||
remote
|
||||
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="item in options[item.clickFuc]"
|
||||
:key="item.code"
|
||||
:label="item.label"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
v-model="actDateRange"
|
||||
type="daterange"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
|
||||
<el-date-picker
|
||||
v-model="filterQuery[item.columnName]"
|
||||
:style="`width:${item.width+'px'}`"
|
||||
value-format="yyyy-MM-dd"
|
||||
:disabled="executeEval(null,item.disabledFuc,false)"
|
||||
type="date"
|
||||
:placeholder="item.columnDesc"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="top-right-btn">
|
||||
<el-button-group>
|
||||
<el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button>
|
||||
<el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" @click="searchList">查询</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-divider style="margin: 15px"></el-divider>
|
||||
|
||||
|
||||
<el-table
|
||||
:data="udidlList"
|
||||
style="width: 100%"
|
||||
border
|
||||
v-loading="loading"
|
||||
>
|
||||
<template v-for="(item, index) in tableHeader">
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'id' && executeEval(row,item.expression,true)"
|
||||
type="index" :label="item.columnDesc"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ item.lableRuleObj[scope.row[item.columnName]] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
|
||||
<span>{{ item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName] }}</span>
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'button' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:width="item.width"
|
||||
:key="item.columnName"
|
||||
fixed="right"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj"
|
||||
:type="buttonItem.type"
|
||||
:size="buttonItem.size"
|
||||
:style="buttonItem.style"
|
||||
:key="buttonItem"
|
||||
v-if="executeEval(scope.row,buttonItem.hasPermi,true)"
|
||||
:disabled="executeEval(scope.row,buttonItem.disabledFuc,false)"
|
||||
@click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)"
|
||||
>{{ buttonItem.name }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="item.columnType == 'text' && executeEval(row,item.expression,true)"
|
||||
:prop="item.columnName"
|
||||
:label="item.columnDesc"
|
||||
:sortable="item.sort"
|
||||
:width="item.width"
|
||||
:show-overflow-tooltip="item.tooltip"
|
||||
:key="item.columnName"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ scope.row[item.columnName] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="filterQuery.page"
|
||||
:limit.sync="filterQuery.limit"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog
|
||||
:title="formCertMap[formCertName]"
|
||||
:visible.sync="orderMutiSetCertVisible"
|
||||
:before-close="close"
|
||||
width="60%"
|
||||
v-if="orderMutiSetCertVisible"
|
||||
@close='closeCertDialog'
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
:append-to-body="true"
|
||||
|
||||
>
|
||||
<ylqxzczhManuDialog
|
||||
:closeDialog="closeCertDialog"
|
||||
:inputQuery="inputCertQuery"
|
||||
:formName="formCertName"
|
||||
></ylqxzczhManuDialog>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {filterMyAuth,batchAddAuth} from "@/api/sup/userCert";
|
||||
import {executeFuc, getHead} from "@/utils/customConfig";
|
||||
import ylqxzczhManuDialog from "./certDetail";
|
||||
|
||||
export default {
|
||||
name: "closeDialog",
|
||||
props: {
|
||||
closeDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
formName: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
inputQuery: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
formCertName: 3,
|
||||
formCertMap: {
|
||||
3: "资质详情",
|
||||
},
|
||||
inputCertQuery:{},
|
||||
orderMutiSetCertVisible: false,
|
||||
filterQuery: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
cpmctymc1: "",
|
||||
combineLoading: false,
|
||||
combineQuery: {
|
||||
productId: null,
|
||||
ids: [],
|
||||
},
|
||||
checked: true,
|
||||
udidlList: [],
|
||||
erpList: [],
|
||||
pageTotal: 0,
|
||||
total: 0,
|
||||
tableHeader:[],
|
||||
queryList:[],
|
||||
fromList:[],
|
||||
currentRow: null,
|
||||
fromOptions: [],
|
||||
loading: false,
|
||||
erpLloading: false,
|
||||
multipleUdiSelection: [],
|
||||
selectDialog: false,
|
||||
diDetails: null,
|
||||
showSearch: true,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.filterQuery = {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.actDateRange = [];
|
||||
this.udidlList = [];
|
||||
},
|
||||
clear() {
|
||||
this.filterQuery = {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
},
|
||||
searchList() {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
getList() {
|
||||
this.filterQuery.corpId = this.inputQuery.corpId;
|
||||
this.loading = true;
|
||||
filterMyAuth(this.filterQuery)
|
||||
.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);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.udidlList = [];
|
||||
this.total = 0;
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
closeCertDialog(){
|
||||
this.orderMutiSetCertVisible = false;
|
||||
this.getList();
|
||||
},
|
||||
detailCertDialog(_this,row){
|
||||
_this.formCertName=3;
|
||||
_this.inputCertQuery=row
|
||||
_this.orderMutiSetCertVisible = true;
|
||||
},
|
||||
keyup_submit(event) {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
event.target.select();
|
||||
},
|
||||
diDetail(row) {
|
||||
this.diDetails = row;
|
||||
this.selectDialog = true;
|
||||
},
|
||||
|
||||
handleCurrentChange(val) {
|
||||
this.filterQuery.page = val;
|
||||
this.getList();
|
||||
},
|
||||
tableRowClassName({row, rowIndex}) {
|
||||
if (row.check) return "warning-row";
|
||||
return "";
|
||||
},
|
||||
handleErpChange(val) {
|
||||
this.cpmctymc1 = val.cpmctymc;
|
||||
this.currentRow = val;
|
||||
},
|
||||
intentBack() {
|
||||
this.closeDialog();
|
||||
},
|
||||
|
||||
checkCombine() {
|
||||
this.checkedUdi();
|
||||
},
|
||||
|
||||
checkedUdi() {
|
||||
let selectData = this.multipleUdiSelection;
|
||||
let selected = null;
|
||||
if (this.multipleUdiSelection.length == 0) {
|
||||
this.$message.warning('请选入资质!');
|
||||
return;
|
||||
} else {
|
||||
selectData.forEach((obj) => {
|
||||
if (obj.check) {
|
||||
selected = obj;
|
||||
}
|
||||
this.combineQuery.ids.push(obj.id);
|
||||
});
|
||||
}
|
||||
if (selected != null) {
|
||||
this.$message.warning("资质:" + selected.name + "已被选入");
|
||||
return;
|
||||
}
|
||||
this.combineLoading = true;
|
||||
this.combine();
|
||||
},
|
||||
|
||||
combine() {
|
||||
this.combineQuery.corpId = this.inputQuery.corpId;
|
||||
batchAddAuth(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.intentBack();
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.intentBack();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
handleSelectionUdiChange(val) {
|
||||
this.multipleUdiSelection = val;
|
||||
},
|
||||
executeFuc(row,type,clickFuc,value){
|
||||
return executeFuc(this,row,type,clickFuc,value);
|
||||
},
|
||||
executeEval(row,expression,defaultRet){
|
||||
if(expression){
|
||||
return eval(expression);
|
||||
}
|
||||
return defaultRet;
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ylqxzczhManuDialog
|
||||
},
|
||||
created() {
|
||||
getHead("supcert-auth","1").then((re) => {
|
||||
// 处理返回的数据
|
||||
this.tableObj = re.data;
|
||||
this.tableHeader = re.data.tableList;
|
||||
this.queryList = re.data.queryList;
|
||||
this.fromList = re.data.fromList;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.checkitemTag {
|
||||
float: left;
|
||||
text-align: left;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .warning-row {
|
||||
background: #bebebe;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .success-row {
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.el-card {
|
||||
margin-right: 20px;
|
||||
/*transition: all .5s;*/
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
</style>
|
Loading…
Reference in New Issue