资质代码同步

prod
郑明梁 2 years ago
parent 4d62fd3877
commit b41bdd993c

@ -96,4 +96,14 @@ export function getSystemParamConfig(query) {
}); });
} }
export function getCorpList(query) {
return axios({
url: "/udiwms/basic/unit/maintain/getCorpList",
method: "post",
data: query
});
}

@ -192,6 +192,13 @@ export function getGgxhList(params) {
}); });
} }
export function getCertUdis(query) {
return axios({
url: "/udi/cert/filterUdi",
method: "get",
params: query
});
}

@ -151,7 +151,13 @@ export function printSupCertProduction(data) {
data: data data: data
}); });
} }
export function previewImage(data) {
return axios({
url: "/udiwms/image/register/file",
method: "post",
data: data
});
}

@ -3,7 +3,9 @@
<el-form :model="formData" :rules="formRules" ref="dataForm"> <el-form :model="formData" :rules="formRules" ref="dataForm">
<el-card style="margin-top: -30px"> <el-card style="margin-top: -30px">
<el-button-group style="display: flex"> <el-button-group style="display: flex">
<el-button type="primary" @click.native="submitUpload()" style="margin: 0 60px 10px auto; height: 35px" :loading="loading">提交</el-button> <el-button type="primary" @click.native="submitUpload()" style="margin: 0 60px 10px auto; height: 35px"
:loading="loading">提交
</el-button>
</el-button-group> </el-button-group>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
@ -44,7 +46,7 @@
:disabled="formData.auditStatus == 1" :disabled="formData.auditStatus == 1"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 100%" style="width: 100%"
placeholder="请选择效期"> placeholder="请选择效期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -70,6 +72,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<div class="ao-text"> <div class="ao-text">
<span>备注</span> <span>备注</span>
@ -108,7 +112,6 @@
:action="this.uploadUrl" :action="this.uploadUrl"
:on-preview="uploadHandlePreview" :on-preview="uploadHandlePreview"
:on-remove="uploadHandleRemove" :on-remove="uploadHandleRemove"
:limit="1"
:headers="headers" :headers="headers"
:on-exceed="uploadHandleExceed" :on-exceed="uploadHandleExceed"
accept=".jpg,.png" accept=".jpg,.png"
@ -121,7 +124,7 @@
<el-button slot="trigger" size="small" type="primary" :disabled="formData.auditStatus == 1"> <el-button slot="trigger" size="small" type="primary" :disabled="formData.auditStatus == 1">
{{ choiceFile }} {{ choiceFile }}
</el-button> </el-button>
<div>只能上传 .jpg,.png 文件且不超过 2 MB</div> <div>只能上传 jpg,png 文件且不超过 3 MB</div>
</el-upload> </el-upload>
<!-- <el-button type="primary" size="mini" icon="search" @click="toViewCompanyCert"--> <!-- <el-button type="primary" size="mini" icon="search" @click="toViewCompanyCert"-->
<!-- style="text-align:right"--> <!-- style="text-align:right"-->
@ -142,6 +145,7 @@
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import store from "../../../store"; import store from "../../../store";
import {insertCompanyCert, updateCompanyCert} from "../../../api/purchase/companyCert"; import {insertCompanyCert, updateCompanyCert} from "../../../api/purchase/companyCert";
import ElImageViewer from "element-ui/packages/image/src/image-viewer"
export default { export default {
name: "supCompanyCertAdd", name: "supCompanyCertAdd",
@ -168,6 +172,7 @@ export default {
return { return {
BASE_URL: process.env.VUE_APP_BASE_API, BASE_URL: process.env.VUE_APP_BASE_API,
code: "", code: "",
isCleck:false,
formData: { formData: {
type: 0, type: 0,
vailDate: null, vailDate: null,
@ -196,6 +201,7 @@ export default {
}, },
components: { components: {
draggable, draggable,
ElImageViewer
}, },
methods: { methods: {
submitUpload() { submitUpload() {
@ -244,10 +250,9 @@ export default {
}, },
onSubmit() { onSubmit() {
this.loading = true;
this.formData.customerId = this.inputQuery.customerId; this.formData.customerId = this.inputQuery.customerId;
if(this.formData.customerId==null){ if (this.formData.customerId == null) {
this.formData.customerId=store.getters.customerId this.formData.customerId = store.getters.customerId
} }
this.formData.type = this.addType; this.formData.type = this.addType;
//1:2.3. //1:2.3.
@ -285,22 +290,25 @@ export default {
}, },
uploadHandleRemove(file, fileList) { uploadHandleRemove(file, fileList) {
console.log(file, fileList); this.formData.filePath="";
for (var i=0;i<fileList.length;i++){
this.formData.filePath+=fileList[i].response.data.name+",";
}
}, },
uploadHandlePreview(file) { uploadHandlePreview(file) {
console.log(file); console.log(file);
console.log(this.fileList); console.log(this.fileList);
}, },
uploadHandleExceed(files, fileList) { uploadHandleExceed(files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
}, },
uploadOnchange(file, fileList) { uploadOnchange(file, fileList) {
let fileName = file.name; let fileName = file.name;
let uid = file.uid let uid = file.uid
let pos = fileName.lastIndexOf("."); let pos = fileName.lastIndexOf(".");
let lastName = fileName.substring(pos, fileName.length); let lastName = fileName.substring(pos, fileName.length);
if (lastName.toLowerCase() !== ".jpg" && lastName.toLowerCase() !== ".png") { if (lastName.toLowerCase() !== ".jpg" && lastName.toLowerCase() !== ".png" && lastName.toLowerCase() !== ".doc") {
this.$message.error("上传文件只能是 .jpg,.png 格式"); this.$message.error("上传文件只能是 jpg,png格式");
for (let i = 0; i < fileList.length; i++) {//list for (let i = 0; i < fileList.length; i++) {//list
if (fileList[i].uid === uid) { if (fileList[i].uid === uid) {
fileList.splice(i, 1) fileList.splice(i, 1)
@ -309,9 +317,9 @@ export default {
return; return;
} }
// //
const isLt = file.size / 1024 / 1024 / 2 <= 1; const isLt = file.size / 1024 / 1024 / 3 <= 1;
if (!isLt) { if (!isLt) {
this.$message.error("上传文件大小不能超过 2MB"); this.$message.error("上传文件大小不能超过 3MB");
for (let i = 0; i < fileList.length; i++) { for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid === uid) { if (fileList[i].uid === uid) {
fileList.splice(i, 1) fileList.splice(i, 1)
@ -322,8 +330,12 @@ export default {
}, },
uploadHandleSuccess(response, file, fileList) { uploadHandleSuccess(response, file, fileList) {
if (response.code === 20000) { if (response.code === 20000) {
this.formData.filePath = response.data.name; if(this.formData.filePath==null || this.isCleck==true){
this.formData.filePath=response.data.name+",";
this.isCleck=false;
}else{
this.formData.filePath+=response.data.name+",";
}
} else { } else {
this.$message.error("文件上传失败:" + response.message); this.$message.error("文件上传失败:" + response.message);
} }
@ -350,16 +362,17 @@ export default {
ADMIN_ID: store.getters.adminId, ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token, ADMIN_TOKEN: store.getters.token,
}; };
if (this.inputQuery.formData == null ) { if (this.inputQuery.formData == null) {
this.formData = {} this.formData = {}
}else if(this.inputQuery.formData != null && this.inputQuery.formData.addType==1){ } else if (this.inputQuery.formData != null && this.inputQuery.formData.addType == 1) {
this.formData = {} this.formData = {}
}else{ } else {
this.formData = this.inputQuery.formData; this.formData = this.inputQuery.formData;
console.log(this.inputQuery.formData); console.log(this.inputQuery.formData);
} }
if (this.formData.filePath != null) { if (this.formData.filePath != null) {
this.choiceFile = "更换文件"; this.choiceFile = "更换文件";
this.isCleck=true;
} else { } else {
this.choiceFile = "选取文件"; this.choiceFile = "选取文件";
} }

@ -7,12 +7,12 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="配送企业名称:"> <el-form-item label="配送企业名称:">
<el-input v-model="filterQuery.companyName" style="width: 90%" placeholder="请输入配送企业名称"></el-input> <el-input v-model="filterQuery.companyName" style="width: 90%" placeholder="请输入配送企业名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="统一社会信用号:"> <el-form-item label="统一社会信用号:">
<el-input v-model="filterQuery.creditNum" style="width: 90%" placeholder="请输入统一社会信用号"></el-input> <el-input v-model="filterQuery.creditNum" style="width: 90%" placeholder="请输入统一社会信用号" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -35,6 +35,17 @@
<el-table-column label="统一社会信用号" prop="creditNum" width="160"></el-table-column> <el-table-column label="统一社会信用号" prop="creditNum" width="160"></el-table-column>
<el-table-column label="所属地区" prop="area" width="180"></el-table-column> <el-table-column label="所属地区" prop="area" width="180"></el-table-column>
<el-table-column label="详细地址" prop="detailAddr" :show-overflow-tooltip="true" width="180"></el-table-column> <el-table-column label="详细地址" prop="detailAddr" :show-overflow-tooltip="true" width="180"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus" width="120">
<template slot-scope="scope">
<el-tag :type="(scope.row.auditStatus) | statusFilterType">
{{ checkFlag[scope.row.auditStatus] }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="生产企业证书" prop="auditStatus" width="120"> <el-table-column label="生产企业证书" prop="auditStatus" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
@ -61,18 +72,10 @@
<el-tag type="success" v-if="scope.row.productFailCout==0 && scope.row.prouctPassCout>0"> <el-tag type="success" v-if="scope.row.productFailCout==0 && scope.row.prouctPassCout>0">
已全部审核 已全部审核
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核状态" prop="auditStatus" width="120">
<template slot-scope="scope">
<el-tag :type="(scope.row.auditStatus) | statusFilterType">
{{ checkFlag[scope.row.auditStatus] }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
@ -92,6 +95,8 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
@ -117,6 +122,7 @@
:closeDialog="closeDialog" :closeDialog="closeDialog"
:inputQuery="inputQuery" :inputQuery="inputQuery"
:editType="editType" :editType="editType"
:auditType="auditType"
></supCompanyEditAdudit> ></supCompanyEditAdudit>
</el-dialog> </el-dialog>
@ -128,13 +134,13 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="生产企业名称"> <el-form-item label="生产企业名称">
<el-input v-model="filterManufacturerQuery.companyName" style="width: 90%" <el-input v-model="filterManufacturerQuery.companyName" style="width: 90%"
placeholder="请输入生产企业名称"></el-input> placeholder="请输入生产企业名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="统一社会信用号"> <el-form-item label="统一社会信用号">
<el-input v-model="filterManufacturerQuery.creditCode" style="width: 90%" <el-input v-model="filterManufacturerQuery.creditCode" style="width: 90%"
placeholder="请输入统一社会信用号"></el-input> placeholder="请输入统一社会信用号" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -223,6 +229,7 @@
<supManufacturerAuditDialog <supManufacturerAuditDialog
:addCloseDialog="closeManufacturerDialog" :addCloseDialog="closeManufacturerDialog"
:enterpriseId="enterpriseId" :enterpriseId="enterpriseId"
:auditType="auditType"
:inputQuery="inputManufacturerQuery" :inputQuery="inputManufacturerQuery"
:editType="editManufacturerType" :editType="editManufacturerType"
></supManufacturerAuditDialog> ></supManufacturerAuditDialog>
@ -234,9 +241,9 @@
<el-form :model="registrationQuery" class="query-form" label-width="120px" v-show="showSearch3"> <el-form :model="registrationQuery" class="query-form" label-width="120px" v-show="showSearch3">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="产品名称:"> <el-form-item label="物资名称:">
<el-input v-model="registrationQuery.recordProductName" style="width: 90%;" clearable="true" <el-input v-model="registrationQuery.recordProductName" style="width: 90%;" clearable="true"
placeholder="请输入产品名称"></el-input> placeholder="请输入物资名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -267,7 +274,7 @@
<el-table v-loading="registrationLoading" :data="registrationList" border highlight-current-row <el-table v-loading="registrationLoading" :data="registrationList" border highlight-current-row
style="width: 100%"> style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="产品名称" prop="recordProductName" show-overflow-tooltip></el-table-column> <el-table-column label="物资名称" prop="recordProductName" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案人名称" prop="recordPeopleName" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案人名称" prop="recordPeopleName" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufacturerName" show-overflow-tooltip></el-table-column> <el-table-column label="生产企业" prop="manufacturerName" show-overflow-tooltip></el-table-column>
@ -325,6 +332,7 @@
<suppliersRegistrationBasic <suppliersRegistrationBasic
:closeRegistrationDialog="closeProductDialog" :closeRegistrationDialog="closeProductDialog"
:inputQuery="inputProudtQuery" :inputQuery="inputProudtQuery"
:auditType="auditType"
:editType="editProductType" :editType="editProductType"
></suppliersRegistrationBasic> ></suppliersRegistrationBasic>
</el-dialog> </el-dialog>
@ -353,6 +361,7 @@ export default {
page: 1, page: 1,
limit: 20, limit: 20,
}, },
auditType:1,
loading: false, loading: false,
list: [], list: [],
total: 0, total: 0,
@ -557,6 +566,7 @@ export default {
supCompanyClick(row) { supCompanyClick(row) {
this.filterManufacturerQuery.customerId = row.customerId; this.filterManufacturerQuery.customerId = row.customerId;
this.registrationList=[];
this.onManufacturerReset(); this.onManufacturerReset();
}, },

@ -7,12 +7,12 @@
<el-row> <el-row>
<el-col span="6"> <el-col span="6">
<el-form-item label="配送企业名称:"> <el-form-item label="配送企业名称:">
<el-input v-model="filterQuery.companyName" style="width: 90%" placeholder="请输入配送企业名称"></el-input> <el-input v-model="filterQuery.companyName" style="width: 90%" placeholder="请输入配送企业名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="6"> <el-col span="6">
<el-form-item label="统一社会信用号:"> <el-form-item label="统一社会信用号:">
<el-input v-model="filterQuery.creditNum" style="width: 90%" placeholder="请输入统一社会信用号"></el-input> <el-input v-model="filterQuery.creditNum" style="width: 90%" placeholder="请输入统一社会信用号" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -84,12 +84,12 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="生产企业名称"> <el-form-item label="生产企业名称">
<el-input v-model="filterManufacturerQuery.companyName" style="width: 90%" placeholder="请输入生产企业名称"></el-input> <el-input v-model="filterManufacturerQuery.companyName" style="width: 90%" placeholder="请输入生产企业名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="统一社会信用号"> <el-form-item label="统一社会信用号">
<el-input v-model="filterManufacturerQuery.creditCode" style="width: 90%" placeholder="请输入统一社会信用号"></el-input> <el-input v-model="filterManufacturerQuery.creditCode" style="width: 90%" placeholder="请输入统一社会信用号" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -165,8 +165,8 @@
<el-card class="el-card"> <el-card class="el-card">
<el-form :model="registrationQuery" class="query-form" label-width="100px" v-show="showSearch2"> <el-form :model="registrationQuery" class="query-form" label-width="100px" v-show="showSearch2">
<el-row style="width: 100%"> <el-row style="width: 100%">
<el-form-item label="产品名称:"> <el-form-item label="物资名称:">
<el-input v-model="registrationQuery.recordProductName" style="width: 90%" clearable="true" placeholder="请输入产品名称"></el-input> <el-input v-model="registrationQuery.recordProductName" style="width: 90%" clearable="true" placeholder="请输入物资名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="注册备案号:"> <el-form-item label="注册备案号:">
<el-input v-model="registrationQuery.recordCode" style="width: 90%" clearable="true" placeholder="请输入注册备案号"></el-input> <el-input v-model="registrationQuery.recordCode" style="width: 90%" clearable="true" placeholder="请输入注册备案号"></el-input>
@ -188,7 +188,7 @@
<el-table v-loading="registrationLoading" :data="registrationList" border highlight-current-row style="width: 100%"> <el-table v-loading="registrationLoading" :data="registrationList" border highlight-current-row style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="产品名称" prop="recordProductName" show-overflow-tooltip></el-table-column> <el-table-column label="物资名称" prop="recordProductName" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案人名称" prop="recordPeopleName" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案人名称" prop="recordPeopleName" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufacturerName" show-overflow-tooltip></el-table-column> <el-table-column label="生产企业" prop="manufacturerName" show-overflow-tooltip></el-table-column>
@ -585,7 +585,7 @@ export default {
this.getRegistrationList(); this.getRegistrationList();
}, },
printSupCertPdf(row) { printSupCertPdf(row) {
let query = {moduleId: 8}; let query = {id: 1};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -625,13 +625,15 @@ export default {
}, },
// //
printSupCertManufacturerPdf(row) { printSupCertManufacturerPdf(row) {
let query = {moduleId: 9}; let query = {id: 2};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
debugger
//id //id
var supCertQuery={ var supCertQuery={
customerId:row.customerId, customerId:row.customerId,
manufacturerIdFk:row.manufacturerId,
type:2 type:2
}; };
filterCompanyCertIdList(supCertQuery).then((req) => { filterCompanyCertIdList(supCertQuery).then((req) => {
@ -666,14 +668,17 @@ export default {
// //
printSupCertProductionPdf(row) { printSupCertProductionPdf(row) {
let query = {moduleId: 10}; let query = {id: 3};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
debugger
if (res.code === 20000) { if (res.code === 20000) {
//id //id
var supCertQuery={ var supCertQuery={
customerId:row.customerId, customerId:row.customerId,
type:2 manufacturerIdFk:row.manufacturerIdFk,
productIdFk:row.productId,
type:3
}; };
filterCompanyCertIdList(supCertQuery).then((req) => { filterCompanyCertIdList(supCertQuery).then((req) => {
if(req.code===20000){ if(req.code===20000){

@ -71,7 +71,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="备注:" prop="remark"> <el-form-item label="说明:" prop="remark">
<el-input v-model="currentSup.remark" style="width: 95.5%" auto-complete="off" type="textarea" <el-input v-model="currentSup.remark" style="width: 95.5%" auto-complete="off" type="textarea"
autosize></el-input> autosize></el-input>
</el-form-item> </el-form-item>
@ -177,7 +177,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="备注:" prop="remark"> <el-form-item label="说明:" prop="remark">
<el-input v-model="currentManufacturer.remark" auto-complete="off" type="textarea" <el-input v-model="currentManufacturer.remark" auto-complete="off" type="textarea"
autosize></el-input> autosize></el-input>
</el-form-item> </el-form-item>
@ -319,7 +319,7 @@
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="备注" prop="remark"> <el-form-item label="说明" prop="remark">
<el-input v-model="currentProduct.remark" style="width: 90%" auto-complete="off" type="textarea" <el-input v-model="currentProduct.remark" style="width: 90%" auto-complete="off" type="textarea"
autosize></el-input> autosize></el-input>
</el-form-item> </el-form-item>

@ -146,7 +146,7 @@ export default {
manufacturerIdFk: this.manufacturerId, manufacturerIdFk: this.manufacturerId,
productIdFk: this.productId, productIdFk: this.productId,
supCertSetEntities: this.multipleSelection, supCertSetEntities: this.multipleSelection,
customerId: this.customerId, customerId:this.customerId,
}; };
selectAllCert(postQuery) selectAllCert(postQuery)
.then(response => { .then(response => {

@ -41,7 +41,8 @@
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row @current-change="supManufacturerClick"> <el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row
@current-change="supManufacturerClick">
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="企业名称" prop="companyName" width="250"></el-table-column> <el-table-column label="企业名称" prop="companyName" width="250"></el-table-column>
<el-table-column label="社会信用号" prop="creditCode"></el-table-column> <el-table-column label="社会信用号" prop="creditCode"></el-table-column>
@ -64,8 +65,12 @@
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click.native.stop="addInfoDialog(scope.row)">编辑</el-button> <el-button type="text" size="small" @click.native.stop="addInfoDialog(scope.row)">编辑</el-button>
<el-button type="text" size="small" :disabled="scope.row.auditStatus === 1" @click.native.stop="deleteDialog(scope.row)">删除</el-button> <el-button type="text" size="small" :disabled="scope.row.auditStatus === 1"
<el-button type="text" size="small" v-if="scope.row.auditStatus === 2" @click.native.stop="rejectInfo(scope.row)"></el-button> @click.native.stop="deleteDialog(scope.row)">删除
</el-button>
<el-button type="text" size="small" v-if="scope.row.auditStatus === 2"
@click.native.stop="rejectInfo(scope.row)">说明
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -102,21 +107,25 @@
<!---配送企业资质-----> <!---配送企业资质----->
<el-card class="el-card"> <el-card class="el-card">
<el-form :model="registrationQuery" class="query-form" style="margin-top: 5px" v-show="showSearch2" label-width="100px"> <el-form :model="registrationQuery" class="query-form" style="margin-top: 5px" v-show="showSearch2"
label-width="100px">
<el-row> <el-row>
<el-col span="6"> <el-col span="6">
<el-form-item label="产品名称:"> <el-form-item label="物资名称:">
<el-input v-model="registrationQuery.recordProductName" style="width: 90%" clearable placeholder="产品名称"></el-input> <el-input v-model="registrationQuery.recordProductName" style="width: 90%" clearable
placeholder="物资名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="6"> <el-col span="6">
<el-form-item label="注册备案号:"> <el-form-item label="注册备案号:">
<el-input v-model="registrationQuery.recordCode" style="width: 90%" clearable placeholder="注册备案号"></el-input> <el-input v-model="registrationQuery.recordCode" style="width: 90%" clearable
placeholder="注册备案号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="6"> <el-col span="6">
<el-form-item label="注册备案人:"> <el-form-item label="注册备案人:">
<el-input v-model="registrationQuery.recordPeopleName" style="width: 90%" clearable placeholder="注册备案人"></el-input> <el-input v-model="registrationQuery.recordPeopleName" style="width: 90%" clearable
placeholder="注册备案人"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -133,8 +142,8 @@
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="registrationLoading" :data="registrationList" style="width: 100%" border
<el-table v-loading="registrationLoading" :data="registrationList" style="width: 100%" border highlight-current-row> highlight-current-row>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="注册/备案产品名称" prop="recordProductName" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案产品名称" prop="recordProductName" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="recordCode" show-overflow-tooltip></el-table-column>
@ -151,7 +160,9 @@
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click.native.stop="registrationDialog(scope.row)">编辑</el-button> <el-button type="text" size="small" @click.native.stop="registrationDialog(scope.row)">编辑</el-button>
<el-button type="text" size="small" :disabled="scope.row.auditStatus === 1" @click.native="deleteRegistration(scope.row)">删除</el-button> <el-button type="text" size="small" :disabled="scope.row.auditStatus === 1"
@click.native="deleteRegistration(scope.row)">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -198,8 +209,8 @@ export default {
data() { data() {
return { return {
BASE_URL: process.env.VUE_APP_BASE_API, BASE_URL: process.env.VUE_APP_BASE_API,
showSearch:true, showSearch: true,
showSearch2:true, showSearch2: true,
/**------------------生产企业资质--------------------*/ /**------------------生产企业资质--------------------*/
filterQuery: { filterQuery: {
customerId: null, customerId: null,
@ -236,7 +247,7 @@ export default {
auditStatus: 6 auditStatus: 6
}, },
editType: 1, editType: 1,
fromType: 2,//1:2: fromType: 1,//1:2:
formMap: { formMap: {
add: "新增生产企业资质信息", add: "新增生产企业资质信息",
update: "编辑生产企业资质信息", update: "编辑生产企业资质信息",
@ -318,9 +329,10 @@ export default {
this.registrationList = []; this.registrationList = [];
}, },
onSubmit() { onSubmit() {
this.filterQuery.page=1 this.filterQuery.page = 1
this.getList(); this.getList();
this.registrationList = []; this.registrationList = [];
this.currentManufacturer=null;
}, },
toViewRegistrationCert(row, num) { toViewRegistrationCert(row, num) {
let path = num === 1 ? row.filePath : row.instructions; let path = num === 1 ? row.filePath : row.instructions;
@ -328,6 +340,7 @@ export default {
}, },
getList() { getList() {
this.loading = true; this.loading = true;
this.filterQuery.customerId = this.$store.getters.customerId
getCompanyBySup(this.filterQuery) getCompanyBySup(this.filterQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
@ -425,7 +438,7 @@ export default {
onReset2() { onReset2() {
// //
if(this.currentManufacturer!=null){ if (this.currentManufacturer != null) {
this.registrationQuery = { this.registrationQuery = {
customerId: this.registrationQuery.customerId, customerId: this.registrationQuery.customerId,
manufacturerIdFk: this.registrationQuery.manufacturerIdFk, manufacturerIdFk: this.registrationQuery.manufacturerIdFk,
@ -440,15 +453,15 @@ export default {
} }
}, },
onSubmit2() { onSubmit2() {
if(this.currentManufacturer==null){ if (this.currentManufacturer == null) {
this.$message.error("请先选中生产企业!"); this.$message.error("请先选中生产企业!");
return return
} }
this.registrationQuery.page=1; this.registrationQuery.page = 1;
this.getRegistrationList(); this.getRegistrationList();
}, },
registrationDialog(row) { registrationDialog(row) {
if(this.currentManufacturer==null){ if (this.currentManufacturer == null) {
this.$message.error("请先选中生产企业!"); this.$message.error("请先选中生产企业!");
return return
} }
@ -456,7 +469,8 @@ export default {
if (this.$isNotBlank(row)) { if (this.$isNotBlank(row)) {
this.registrationId = row.id; this.registrationId = row.id;
this.curProductQuery = row; this.curProductQuery = row;
this.curProductQuery.cuStatus=this.currentManufacturer.auditStatus; this.curProductQuery.cuStatus = this.currentManufacturer.auditStatus;
this.curProductQuery.manufacturerId = this.registrationQuery.manufacturerIdFk
this.formName = "update"; this.formName = "update";
this.editProductType = 1; this.editProductType = 1;
} else { } else {
@ -464,7 +478,8 @@ export default {
this.formName = "add"; this.formName = "add";
this.curProductQuery = { this.curProductQuery = {
auditStatus: 0, auditStatus: 0,
cuStatus:this.currentManufacturer.auditStatus cuStatus: this.currentManufacturer.auditStatus,
manufacturerId: this.registrationQuery.manufacturerIdFk
}; };
} }
this.registrationVisible = true; this.registrationVisible = true;
@ -504,8 +519,7 @@ export default {
this.registrationVisible = false; this.registrationVisible = false;
this.enterpriseId = null; this.enterpriseId = null;
this.registrationId = null; this.registrationId = null;
this.getList(); this.getRegistrationList();
this.registrationList = [];
}, },
getRegistrationList() { getRegistrationList() {
this.registrationLoading = true; this.registrationLoading = true;

@ -9,8 +9,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="产品通用名:"> <el-form-item label="物资名称:">
<el-input v-model="filterQuery.cpmctymc" style="width:90%" placeholder="请输入产品通用名" clearable="true"></el-input> <el-input v-model="filterQuery.cpmctymc" style="width:90%" placeholder="请输入物资名称" clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -54,9 +54,9 @@
<el-table-column label="最小销售产品标识" prop="nameCode" width="140"></el-table-column> <el-table-column label="最小销售产品标识" prop="nameCode" width="140"></el-table-column>
<el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column> <el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column> <el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column>
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column> <el-table-column label="物资名称" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column> <el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column>
<el-table-column width="60" label="操作" > <el-table-column width="60" label="操作" >
<template slot-scope="scope"> <template slot-scope="scope">
@ -87,7 +87,7 @@
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border @current-change="handleDetail" border highlight-current-row> <el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border @current-change="handleDetail" border highlight-current-row>
<el-table-column label="产品标识" prop="nameCode" show-overflow-tooltip></el-table-column> <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="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" 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-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
</el-table> </el-table>
@ -95,8 +95,8 @@
<el-form :model="editQuery" :rules="rules" ref="editQuery" label-width="190px" style="margin-top: 20px"> <el-form :model="editQuery" :rules="rules" ref="editQuery" label-width="190px" style="margin-top: 20px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="产品名称" prop="cpmctymc"> <el-form-item label="物资名称" prop="cpmctymc">
<el-input style="width: 90%" size="small" splaceholder="请输入产品名称" :disabled="true" v-model="editQuery.cpmctymc"></el-input> <el-input style="width: 90%" size="small" splaceholder="请输入物资名称" :disabled="true" v-model="editQuery.cpmctymc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
@ -254,7 +254,7 @@
</el-row> </el-row>
<el-row > <el-row >
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="最小包装单元内包含使用单元数量" prop="zxxsbzbhsydysl"> <el-form-item label="使用单元数量" prop="zxxsbzbhsydysl">
<el-input style="width: 90%" :disabled="!checked" size="small" splaceholder="请输入内容" v-model="editQuery.zxxsbzbhsydysl"></el-input> <el-input style="width: 90%" :disabled="!checked" size="small" splaceholder="请输入内容" v-model="editQuery.zxxsbzbhsydysl"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -325,7 +325,7 @@ export default {
isUseDy: false, isUseDy: false,
}, },
replTitle: "产品信息补齐:", replTitle: "物资字典信息补齐:",
isImport: false, isImport: false,
isImportUdi: false, isImportUdi: false,
isUploadSmp: false, isUploadSmp: false,
@ -435,7 +435,7 @@ export default {
selectExport() { selectExport() {
var selectData = this.multipleSelection; var selectData = this.multipleSelection;
if (selectData == null || selectData.length == 0) { if (selectData == null || selectData.length == 0) {
this.$message.warning("请先选入产品"); this.$message.warning("请先选入物资字典信息");
return; return;
} }
this.closeSelDialog(selectData[0].id); this.closeSelDialog(selectData[0].id);

@ -3,37 +3,42 @@
<el-card> <el-card>
<el-form :model="filterQuery" label-width="120px" v-show="showSearch"> <el-form :model="filterQuery" label-width="120px" v-show="showSearch">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="产品编码:"> <el-form-item label="DI/物资编码:">
<el-input v-model="filterQuery.unionCode" style="width:90%" placeholder="请输入DI/医保编码/商品条码" clearable="true"></el-input> <el-input v-model="filterQuery.unionCode" style="width:90%" placeholder="请输入DI/物资编码"
clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="产品通用名:"> <el-form-item label="物资名称:">
<el-input v-model="filterQuery.cpmctymc" style="width:90%" placeholder="请输入产品通用名" clearable="true"></el-input> <el-input v-model="filterQuery.cpmctymc" style="width:90%" placeholder="请输入物资名称"
clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="规格型号:">
<el-input v-model="filterQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产企业:"> <el-form-item label="生产企业:">
<el-input v-model="filterQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入生产企业/注册备案人" clearable="true"></el-input> <el-input v-model="filterQuery.manufactory" style="width: 90%" placeholder="请输入生产企业"
clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="配送企业:"> <el-form-item label="注册/备案人:">
<el-input v-model="filterQuery.supName" style="width: 90%" placeholder="请输入配送企业" clearable="true"></el-input> <el-input v-model="filterQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入注册/备案人"
clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统一社会信用号:">
<el-input v-model="filterQuery.tyshxydm" style="width: 90%" placeholder="请输入统一社会信用号"
clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="第三方产品编码:"> <el-form-item label="注册/备案号:">
<el-input v-model="filterQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码" clearable="true"></el-input> <el-input v-model="filterQuery.zczbhhzbapzbh" style="width: 90%" placeholder="请输入注册/备案号"
clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -48,17 +53,17 @@
</el-button-group> </el-button-group>
</div> </div>
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row> <el-table v-loading="loading" :data="list" style="width: 100%" @current-change="handleSelectionChange" border
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column> highlight-current-row>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="最小销售产品标识" prop="nameCode" width="140"></el-table-column> <el-table-column label="物资名称" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column> <el-table-column label="生产企业" prop="manufactory" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案人" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column label="产品类别" prop="cplb" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column> <el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column>
<el-table-column width="60" label="操作" > <el-table-column label="分类编码" prop="classifyName" show-overflow-tooltip></el-table-column>
<el-table-column width="60" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@ -69,6 +74,8 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog <el-dialog
title="产品信息详情" title="产品信息详情"
:visible.sync="editDialogVisible" :visible.sync="editDialogVisible"
@ -78,189 +85,87 @@
append-to-body append-to-body
v-if="editDialogVisible" v-if="editDialogVisible"
> >
<el-table :data="sysList" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="第三方系统名称" prop="sysName" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方产品名称" prop="thirdName" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方产品ID" prop="thirdId" show-overflow-tooltip></el-table-column>
</el-table>
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border @current-change="handleDetail" border highlight-current-row> <el-card>
<el-table-column label="产品标识" prop="nameCode" show-overflow-tooltip></el-table-column> <el-form :model="editQuery" ref="editQuery" label-width="140px" style="margin-top: 20px">
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
</el-table>
<el-form :model="editQuery" :rules="rules" ref="editQuery" label-width="190px" style="margin-top: 20px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="产品名称" prop="cpmctymc"> <el-form-item label="物资名称" prop="cpmctymc">
<el-input style="width: 90%" size="small" splaceholder="请输入产品名称" :disabled="true" v-model="editQuery.cpmctymc"></el-input> <el-input style="width: 90%" size="small" splaceholder="请输入物资名称" :disabled="true"
v-model="editQuery.cpmctymc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="el-col">
<el-form-item label="产品标识" prop="nameCode">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入产品标识" v-model="editQuery.nameCode"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="规格型号" prop="ggxh">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="editQuery.ggxh"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="器械类别" prop="qxlb"> <el-form-item label="器械类别" prop="qxlb">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入器械类别" v-model="editQuery.qxlb"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入器械类别"
v-model="editQuery.qxlb"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="产品类别" prop="cplb"> <el-form-item label="产品类别" prop="cplb">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入产品类别" v-model="editQuery.cplb"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入产品类别"
v-model="editQuery.cplb"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="分类编码" prop="flbm"> <el-form-item label="分类编码" prop="flbm">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入分类编码" v-model="editQuery.flbm"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入分类编码"
v-model="editQuery.flbm"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="商品条码" prop="sptm">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入商品条码" v-model="editQuery.sptm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="医保编码" prop="ybbm">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入医保编码" v-model="editQuery.ybbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="医疗器械注册人" prop="ylqxzcrbarmc"> <el-form-item label="医疗器械注册人" prop="ylqxzcrbarmc">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入医疗器械注册人" v-model="editQuery.ylqxzcrbarmc"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入医疗器械注册人"
v-model="editQuery.ylqxzcrbarmc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="注册人英文名称" prop="ylqxzcrbarywmc"> <el-form-item label="注册人英文名称" prop="ylqxzcrbarywmc">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册人英文名称" v-model="editQuery.ylqxzcrbarywmc"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册人英文名称"
v-model="editQuery.ylqxzcrbarywmc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="统一社会信用号" prop="tyshxydm"> <el-form-item label="统一社会信用号" prop="tyshxydm">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入统一社会信用号" v-model="editQuery.tyshxydm"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入统一社会信用号"
v-model="editQuery.tyshxydm"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item label="注册证/备案号" prop="zczbhhzbapzbh"> <el-form-item label="注册证/备案号" prop="zczbhhzbapzbh">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册证/备案号" v-model="editQuery.zczbhhzbapzbh"></el-input> <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册证/备案号"
</el-form-item> v-model="editQuery.zczbhhzbapzbh"></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="上级产品编码" prop="sjcpbm">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入上级产品编码" v-model="editQuery.sjcpbm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="包装级别" prop="packLevel">
<el-input style="width: 90%" size="small" splaceholder="请输入包装级别" :disabled="true" v-model="editQuery.packLevel"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="包装层级" prop="bzcj">
<el-input style="width: 90%" size="small" splaceholder="请输入包装层级" v-model="editQuery.bzcj" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="包含下级包装数量" prop="bhxjsl">
<el-input style="width: 90%" size="small" splaceholder="请输入包含下级包装数量" :disabled="true" v-model="editQuery.bhxjsl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="包含下级产品编码" prop="bhxjcpbm">
<el-input style="width: 90%" size="small" :disabled="true" splaceholder="请输入包含下级产品编码" v-model="editQuery.bhxjcpbm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="包含最小销售包装数量" prop="bhzxxsbzsl">
<el-input style="width: 90%" size="small" :disabled="true" splaceholder="请输入包含最小销售包装数量" v-model="editQuery.bhzxxsbzsl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="是否包含批号" prop="scbssfbhph">
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhph"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="是否包含序列号" prop="scbssfbhxlh">
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhxlh" splaceholder="请输入内容"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
</el-card>
<el-card>
<el-row> <el-table :data="detailList" style="width: 100%" @current-change="handleSelectionChange" border
<el-col :span="12" class="el-col"> highlight-current-row>
<el-form-item label="是否包含生产日期" prop="scbssfbhscrq"> <el-table-column label="序号" type="index"></el-table-column>
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhscrq"></el-input> <el-table-column label="物资名称" prop="cpmctymc" show-overflow-tooltip></el-table-column>
</el-form-item> <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
</el-col> <el-table-column label="最小销售产品标识" prop="nameCode" width="140"></el-table-column>
<el-col :span="12" class="el-col"> <el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-form-item label="是否包含失效日期" prop="scbssfbhsxrq"> </el-table>
<el-input style="width: 90%" :disabled="true" v-model="editQuery.scbssfbhsxrq" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="产品描述" prop="cpms">
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.cpms"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="计量单位" prop="measname">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="editQuery.measname"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="12" class="el-col">
<el-form-item label="最小包装单元内包含使用单元数量" prop="zxxsbzbhsydysl">
<el-input style="width: 90%" :disabled="!checked" size="small" splaceholder="请输入内容" v-model="editQuery.zxxsbzbhsydysl"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<pagination
v-show="detailTotal>0"
:total="detailTotal"
:limit.sync="detailQuery.limit"
:page.sync="detailQuery.page"
@pagination="handeleDetailChange"
></pagination>
</el-card>
</el-dialog> </el-dialog>
<pagination <pagination
@ -280,7 +185,7 @@ import {
getUdiInfos, getUdiInfos,
updateErpProduct, updateErpProduct,
thirdSysDetail, thirdSysDetail,
getSmUdiInfos getSmUdiInfos, getCertUdis
} from "@/api/basic/udiRelevance"; } from "@/api/basic/udiRelevance";
import {udiUpload} from "@/api/thrsys/smp" import {udiUpload} from "@/api/thrsys/smp"
import {filterByUuid} from "@/api/basic/udiInfo"; import {filterByUuid} from "@/api/basic/udiInfo";
@ -322,7 +227,13 @@ export default {
addType: 1, addType: 1,
isDisable: false, isDisable: false,
}, },
detailTotal: 0,
detailQuery: {
cpmctymc: null,
manufactory: null,
page: 1,
limit: 20,
},
editQuery: null, editQuery: null,
relevanceEdit: { relevanceEdit: {
id: null, id: null,
@ -348,7 +259,7 @@ export default {
cpmctymc: null, cpmctymc: null,
ggxh: null ggxh: null
}, },
multipleSelection: [], multipleSelection: {},
editDialogVisible: false, editDialogVisible: false,
selectUdiDialogVisible: false, selectUdiDialogVisible: false,
selectErpDialogVisible: false, selectErpDialogVisible: false,
@ -387,7 +298,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.filterQuery.customerId = store.getters.customerId; this.filterQuery.customerId = store.getters.customerId;
getSmUdiInfos(this.filterQuery) getCertUdis(this.filterQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
this.list = response.data.list || []; this.list = response.data.list || [];
@ -402,14 +313,16 @@ export default {
getDetailList(detailQuery) { getDetailList(detailQuery) {
this.loading = true; this.loading = true;
filterByUuid(detailQuery) getUdiInfos(detailQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
this.detailList = response.data || []; this.detailList = response.data.list || [];
this.detailTotal = response.data.total || 0;
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
this.detailList = []; this.detailList = [];
this.detailTotal = 0;
}); });
}, },
@ -434,11 +347,11 @@ export default {
selectExport() { selectExport() {
var selectData = this.multipleSelection; var selectData = this.multipleSelection;
if (selectData == null || selectData.length == 0) { if (selectData == null) {
this.$message.warning("请先选入产品"); this.$message.warning("请先选入物资字典信息");
return; return;
} }
this.closeSelDialog(selectData[0].id); this.closeSelDialog(selectData.id);
}, },
allExport() { allExport() {
@ -503,6 +416,12 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
handeleDetailChange(val) {
this.detailQuery.page = val.page;
this.getDetailList();
},
handleCurrentChange(val) { handleCurrentChange(val) {
this.filterQuery.page = val.page; this.filterQuery.page = val.page;
this.getList(); this.getList();
@ -516,14 +435,14 @@ export default {
isUseDy: row.isUseDy, isUseDy: row.isUseDy,
}; };
this.checked = row.isUseDy == 1; this.checked = row.isUseDy == 1;
this.detailQuery = {
let ttquery = { cpmctymc: row.cpmctymc,
id: row.id, manufactory: row.manufactory,
page: 1, page: 1,
limit: 10, limit: 10,
}; };
this.getDetailList(ttquery); this.getDetailList(this.detailQuery);
this.getThirdSysDetail(); this.getThirdSysDetail();
}, },
closeUdi(val) { closeUdi(val) {

@ -31,8 +31,8 @@
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row> <el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="企业名称" prop="companyName" show-overflow-tooltip></el-table-column> <el-table-column label="企业名称" prop="companyName" show-overflow-tooltip></el-table-column>
<el-table-column label="统一社会信用号" prop="creditNum"></el-table-column> <el-table-column label="社会信用号" prop="creditNum"></el-table-column>
<el-table-column label="联系人" prop="contacts"></el-table-column> <el-table-column label="企业法人" prop="contacts"></el-table-column>
<el-table-column label="所属地区" prop="area"></el-table-column> <el-table-column label="所属地区" prop="area"></el-table-column>
<el-table-column label="详细地址" prop="detailAddr" :show-overflow-tooltip="true"></el-table-column> <el-table-column label="详细地址" prop="detailAddr" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus" width="120"> <el-table-column label="审核状态" prop="auditStatus" width="120">

@ -11,7 +11,7 @@
<div style="display: flex;"> <div style="display: flex;">
<el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onPassSubmit"></el-button> <el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onPassSubmit"></el-button>
<el-button v-if="editType==2" type="primary" size="mini" @click="onRejectSubmit"></el-button> <el-button v-if="editType==2" type="primary" size="mini" @click="onRejectSubmit"></el-button>
<el-button v-if="editType==1" type="primary" size="mini" icon="search" @click="printSupCertAll"></el-button> <el-button v-if="editType==1 && auditType!=1" type="primary" size="mini" icon="search" @click="printSupCertAll"></el-button>
</div> </div>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 20px"> <el-row :gutter="20" class="el-row" type="flex" style="margin-top: 20px">
@ -147,7 +147,7 @@
<el-table-column label="确认说明" prop="auditComment" show-overflow-tooltip></el-table-column> <el-table-column label="确认说明" prop="auditComment" show-overflow-tooltip></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="editType==1" type="text" size="small" @click.native="printSupCert(scope.row)"> <el-button v-if="editType==1 && auditType!=1" type="text" size="small" @click.native="printSupCert(scope.row)">
</el-button> </el-button>
<el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button> <el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button>
<el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)"> <el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)">
@ -259,7 +259,7 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirm"></el-button> <el-button type="primary" @click="confirm"></el-button>
<el-button type="primary" @click="cancel"></el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -305,6 +305,10 @@ export default {
editType: {//12: editType: {//12:
type: Object, type: Object,
required: true, required: true,
},
auditType: {
type: Object,
required: true
} }
}, },
@ -454,6 +458,8 @@ export default {
this.getCompanyCertList(); this.getCompanyCertList();
this.customerlist(); this.customerlist();
this.selectedOptions = this.inputQuery.areaCode.split(","); this.selectedOptions = this.inputQuery.areaCode.split(",");
}, },
components: { components: {
draggable, draggable,
@ -507,29 +513,18 @@ export default {
return [ return [
'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1; 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1;
}, },
showImgViewer(row) { showImgViewer(row){
var varindex = row.filePath.lastIndexOf(".");
var varext = row.filePath.substring(varindex + 1);
var isImage = this.isAssetTypeAnImage(varext);
if (isImage == true) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList = []; this.imgList=[];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => { previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) { if (response.code === 20000) {
this.imgList.push(response.data); this.imgList=response.data;
} }
}); });
this.imgViewerVisible = true; this.imgViewerVisible = true;
const m = (e) => { const m = (e) => { e.preventDefault() };
e.preventDefault()
};
document.body.style.overflow = 'hidden'; document.body.style.overflow = 'hidden';
document.addEventListener("touchmove", m, false); // document.addEventListener("touchmove", m, false); //
} else {
this.toViewCompanyCert(row);
}
}, },
closeImgViewer() { closeImgViewer() {
this.imgViewerVisible = false; this.imgViewerVisible = false;
@ -649,7 +644,7 @@ export default {
, ,
printSupCert(row) { printSupCert(row) {
var selectIds = [row.id]; var selectIds = [row.id];
let query = {moduleId: 8}; let query = {id: 1};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -688,7 +683,7 @@ export default {
this.$message.error("请先选择打印的证书!"); this.$message.error("请先选择打印的证书!");
return return
} }
let query = {moduleId: 8}; let query = {id: 1};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {

@ -3,18 +3,21 @@
<el-form :model="inputQuery" :rules="rules" ref="inputQuery" label-width="100px"> <el-form :model="inputQuery" :rules="rules" ref="inputQuery" label-width="100px">
<el-card class="el-card" style="margin-top: -15px"> <el-card class="el-card" style="margin-top: -15px">
<div style="float: right; "> <div style="float: right; ">
<el-button type="primary" size="mini" icon="search" @click="selectBasicCorp()"></el-button>
<el-button type="primary" size="mini" icon="search" @click="onModifySubmit(0)">稿</el-button> <el-button type="primary" size="mini" icon="search" @click="onModifySubmit(0)">稿</el-button>
<el-button type="primary" size="mini" icon="search" @click="onModifySubmit(6)"></el-button> <el-button type="primary" size="mini" icon="search" @click="onModifySubmit(6)"></el-button>
</div> </div>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 35px"> <el-row :gutter="20" class="el-row" type="flex" style="margin-top: 35px">
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="企业名称:" label-width="150px" prop="companyName"> <el-form-item label="企业名称:" label-width="150px" prop="companyName">
<el-input <el-select v-model="inputQuery.companyName" @change="getCompanyId" placeholder="请选择企业名称" style="width: 90%">
size="small" <el-option
splaceholder="请输入内容" v-for="item in maintainsList"
v-model="inputQuery.companyName" :key="item.name"
></el-input> :label="item.name"
:value="item.id">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
@ -120,28 +123,27 @@
</div> </div>
<el-table v-loading="certLoading" :data="certList" style=" width: 100%;margin-top: 20px" border highlight-current-row> <el-table v-loading="certLoading" :data="certList" style=" width: 100%;margin-top: 20px" border
highlight-current-row>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="证书名称" prop="name"></el-table-column> <el-table-column label="证书名称" prop="name"></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="vailDate"></el-table-column> <el-table-column label="生效期" prop="vailDate"></el-table-column>
<el-table-column label="失效期" prop="expireDate"></el-table-column> <el-table-column label="失效期" prop="expireDate"></el-table-column>
<el-table-column label="确认状态" prop="auditStatus" width="120"> <el-table-column label="证书状态">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="(scope.row.auditStatus) | statusFilterType"> <span>{{ expire[scope.row.status] }}</span>
{{ checkFlag[scope.row.auditStatus] }}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="确认说明" prop="auditComment"></el-table-column> <el-table-column label="审核状态" prop="auditStatus" width="120">
<el-table-column label="状态" prop="status" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="(scope.row.status) | statusType"> <el-tag :type="(scope.row.auditStatus) | statusFilterType">
{{ statusFlag[scope.row.status] }} {{ checkFlag[scope.row.auditStatus] }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" width="180"> <el-table-column label="操作" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -152,13 +154,7 @@
>编辑 >编辑
</el-button </el-button
> >
<el-button <el-button type="text" size="mini" @click.native="showImgViewer(scope.row)">预览</el-button>
type="text"
size="small"
@click.native="toViewCompanyCert(scope.row)"
>预览
</el-button
>
<el-button <el-button
type="text" type="text"
size="small" size="small"
@ -188,7 +184,8 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer"
:url-list="imgList"/>
<pagination <pagination
v-show="certTotal>0" v-show="certTotal>0"
:total="certTotal" :total="certTotal"
@ -218,20 +215,6 @@
</el-dialog> </el-dialog>
<el-dialog
title="选入往来单位"
:visible.sync="selectCorpVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="70%"
v-if="selectCorpVisible"
append-to-body
@close='closeLocalDialog'
>
<corpMaintainSelect
:closeDialog="closeSelectCorpDialog"
></corpMaintainSelect>
</el-dialog>
<el-dialog <el-dialog
@ -256,15 +239,17 @@
</template> </template>
<script> <script>
import {modifyCompany, addCompany, bindCorp} from "@/api/purchase/supCompany"; import {modifyCompany, addCompany, bindCorp, previewImage} from "@/api/purchase/supCompany";
import store from "@/store/index"; import store from "@/store/index";
import {regionDataPlus, CodeToText} from "element-china-area-data"; import {regionDataPlus, CodeToText} from "element-china-area-data";
import {filterCompanyCert, deleteCompanyCert, updateCompanyCert} from "@/api/purchase/companyCert"; import {filterCompanyCert, deleteCompanyCert, updateCompanyCert} from "@/api/purchase/companyCert";
import corpMaintainSelect from "@/views/basic/corpMaintain/corpMaintainSelect" import corpMaintainSelect from "@/views/basic/corpMaintain/corpMaintainSelect"
import companyAddCert from "@/views/purchase/cert/supCertAddDialog"; import companyAddCert from "@/views/purchase/cert/supCertAddDialog";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import {getUUID} from "@/utils/strUtil"; import {getUUID, isBlank} from "@/utils/strUtil";
import supCertSetSelectDialog from "@/views/purchase/cert/supCertSetSelectDialog"; import supCertSetSelectDialog from "@/views/purchase/cert/supCertSetSelectDialog";
import {getBasicUnitMaintains, getCorpList} from "@/api/basic/basicUnitMaintain";
import ElImageViewer from "element-ui/packages/image/src/image-viewer"
export default { export default {
@ -291,6 +276,8 @@ export default {
headers: {}, headers: {},
classesDisplay: false, classesDisplay: false,
selectedOptions: [], selectedOptions: [],
imgViewerVisible: false,
imgList: [],
options: regionDataPlus, options: regionDataPlus,
rules: { rules: {
companyName: [ companyName: [
@ -366,9 +353,9 @@ export default {
page: 1, page: 1,
limit: 20 limit: 20
}, },
statusFlag: { expire: {
0: "有效", 0: "有效",
1: "失效", 1: "失效"
}, },
certList: [], certList: [],
certTotal: 0, certTotal: 0,
@ -394,6 +381,7 @@ export default {
page: 1, page: 1,
limit: 20 limit: 20
}, },
maintainsList:[],
productList: [], productList: [],
productTotal: 0, productTotal: 0,
productLoading: false, productLoading: false,
@ -403,11 +391,11 @@ export default {
companyEditButtonStr: "编辑", companyEditButtonStr: "编辑",
addType: "1", //1:2.3. addType: "1", //1:2.3.
checkFlag: { checkFlag: {
0: "未认证", 0: "草稿",
1: "已确认", 1: "已通过",
2: "已拒绝", 2: "已拒绝",
3: "变更未确认", 3: "变更未审核",
6: "未确认", 6: "未审核",
}, },
editTye: 1, editTye: 1,
@ -420,26 +408,20 @@ export default {
} }
, ,
created() { created() {
if (this.editType == 0) { if(isBlank(this.inputQuery.customerId)){
this.inputQuery.customerId = getUUID("");
}else{
this.customerId=this.inputQuery.customerId
this.getCompanyCertList(); this.getCompanyCertList();
} }
this.getBasicUnitMaintainsList();
this.headers = { this.headers = {
ADMIN_ID: store.getters.adminId, ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token, ADMIN_TOKEN: store.getters.token,
}; };
this.customerId = this.inputQuery.customerId;
if (this.inputQuery.areaCode != null) if (this.inputQuery.areaCode != null)
this.selectedOptions = this.inputQuery.areaCode.split(","); this.selectedOptions = this.inputQuery.areaCode.split(",");
} }
, ,
components: { components: {
draggable, companyAddCert, corpMaintainSelect, supCertSetSelectDialog draggable, companyAddCert, corpMaintainSelect, supCertSetSelectDialog,ElImageViewer
} }
, ,
methods: { methods: {
@ -457,7 +439,6 @@ export default {
type: "warning", type: "warning",
}).then(() => { }).then(() => {
this.loading = true; this.loading = true;
addCompany(this.inputQuery).then(response => { addCompany(this.inputQuery).then(response => {
this.loading = false; this.loading = false;
if (response.code === 20000) { if (response.code === 20000) {
@ -489,7 +470,7 @@ export default {
this.closeDialog(); this.closeDialog();
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
this.inputQuery.auditStatus=0 this.inputQuery.auditStatus = 0
} }
}); });
}).catch(() => { }).catch(() => {
@ -501,17 +482,38 @@ export default {
} }
} }
, ,
showImgViewer(row) {
onAuditSubmit() { this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList = [];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
} }
, });
this.imgViewerVisible = true;
const m = (e) => {
e.preventDefault()
};
document.body.style.overflow = 'hidden';
document.addEventListener("touchmove", m, false); //
},
closeImgViewer() {
this.imgViewerVisible = false;
const m = (e) => {
e.preventDefault()
};
document.body.style.overflow = 'auto';
document.removeEventListener("touchmove", m, true);
},
selectBasicCorp() { selectBasicCorp() {
this.selectCorpVisible = true; this.selectCorpVisible = true;
} }
, ,
getCompanyId(){
this.inputQuery.customerId= this.maintainsList.find(item => item.id == this.inputQuery.companyName).erpId
this.inputQuery.companyName= this.maintainsList.find(item => item.id == this.inputQuery.companyName).name
this.customerId=this.inputQuery.customerId;
},
cancelDialog() { cancelDialog() {
this.closeDialog(); this.closeDialog();
@ -525,31 +527,11 @@ export default {
} }
, ,
closeSelectCorpDialog(val) {
if (val != null) {
let query = {
customerId: val.erpId
};
bindCorp(query).then(response => {
this.loading = false;
if (response.code === 20000) {
this.inputQuery = response.data;
this.customerId=val.erpId
this.selectCorpVisible = false;
} else {
this.$message.error(response.message);
}
});
}
},
handleChange(value) { handleChange(value) {
var area=''; var area = '';
for(var i=0;i<=2;i++){ for (var i = 0; i <= 2; i++) {
if(CodeToText[value[i]]!=null && CodeToText[value[i]]!=undefined){ if (CodeToText[value[i]] != null && CodeToText[value[i]] != undefined) {
area+=CodeToText[value[i]]; area += CodeToText[value[i]];
} }
} }
this.inputQuery.area = area; this.inputQuery.area = area;
@ -558,6 +540,10 @@ export default {
, ,
addCert(row) { addCert(row) {
if(isBlank(this.inputQuery.customerId)){
return this.$message.error("请先选择供应商");
}
if (this.$isNotBlank(row) && this.$isNotBlank(row.id)) { if (this.$isNotBlank(row) && this.$isNotBlank(row.id)) {
this.formName = 2 this.formName = 2
this.inputQuery.formData = row; this.inputQuery.formData = row;
@ -565,7 +551,7 @@ export default {
} else { } else {
this.formName = 1; this.formName = 1;
this.inputQuery.formData = {}; this.inputQuery.formData = {};
this.inputQuery.formData.addType=1; this.inputQuery.formData.addType = 1;
this.editTye = 1; this.editTye = 1;
} }
this.addCertVisible = true; this.addCertVisible = true;
@ -573,29 +559,39 @@ export default {
, ,
selectCert() { selectCert() {
if(isBlank(this.inputQuery.customerId)){
return this.$message.error("请先选择供应商");
}
this.selectCertVisible = true; this.selectCertVisible = true;
}, },
toViewCompanyCert(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
window.open(this.certFileUrl + row.filePath);
}
,
certHandleCurrentChange(val) { certHandleCurrentChange(val) {
this.certQuery.page = val.page; this.certQuery.page = val.page;
this.getCompanyCertList(); this.getCompanyCertList();
} }
, ,
getBasicUnitMaintainsList() {
getCorpList()
.then((response) => {
this.maintainsList = response.data || [];
})
.catch(() => {
this.maintainsList = [];
});
},
getCompanyCertList() { getCompanyCertList() {
debugger
this.certLoading = true; this.certLoading = true;
this.certQuery.customerId = this.customerId; this.certQuery.customerId = this.inputQuery.customerId;
console.log(this.customerId)
filterCompanyCert(this.certQuery) filterCompanyCert(this.certQuery)
.then((response) => { .then((response) => {
this.certLoading = false; this.certLoading = false;
this.certList = response.data.list || []; this.certList = response.data.list || [];
this.certTotal=response.data.total; this.certTotal = response.data.total;
}) })
.catch(() => { .catch(() => {
this.certLoading = false; this.certLoading = false;
@ -663,13 +659,6 @@ export default {
return statusMap[status]; return statusMap[status];
} }
, ,
statusType(status) {
const statusMap = {
0: "success",
1: "danger",
};
return statusMap[status];
},
} }
, ,
} }

@ -13,7 +13,7 @@
<el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onPassSubmit"></el-button> <el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onPassSubmit"></el-button>
<el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onRejectSubmit"> <el-button v-if="editType==2" type="primary" size="mini" icon="search" @click="onRejectSubmit">
</el-button> </el-button>
<el-button v-if="editType==1" type="primary" size="mini" icon="search" @click="printSupCertAll"> <el-button v-if="editType==1 && auditType!=1" type="primary" size="mini" icon="search" @click="printSupCertAll">
</el-button> </el-button>
</div> </div>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 20px"> <el-row :gutter="20" class="el-row" type="flex" style="margin-top: 20px">
@ -179,6 +179,7 @@
</div> </div>
<el-table v-loading="certLoading" :data="certList" ref="certTable" style="width: 100%" border <el-table v-loading="certLoading" :data="certList" ref="certTable" style="width: 100%" border
highlight-current-row> highlight-current-row>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="证书名称" prop="name"></el-table-column> <el-table-column label="证书名称" prop="name"></el-table-column>
<el-table-column label="证书编号" prop="code"></el-table-column> <el-table-column label="证书编号" prop="code"></el-table-column>
@ -199,7 +200,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="250"> <el-table-column label="操作" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="editType==1" type="text" size="small" @click.native="printSupCert(scope.row)"> <el-button v-if="editType==1 && auditType!=1" type="text" size="small" @click.native="printSupCert(scope.row)">
</el-button> </el-button>
<el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button> <el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button>
<el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)"> <el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)">
@ -347,6 +348,10 @@ export default {
editType: { editType: {
type: Object, type: Object,
required: true, required: true,
},
auditType: {
type: Object,
required: true
} }
}, },
data() { data() {
@ -545,15 +550,12 @@ export default {
'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1; 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1;
}, },
showImgViewer(row) { showImgViewer(row) {
var varindex = row.filePath.lastIndexOf(".");
var varext = row.filePath.substring(varindex + 1);
var isImage = this.isAssetTypeAnImage(varext);
if (isImage == true) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList = []; this.imgList = [];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => { previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) { if (response.code === 20000) {
this.imgList.push(response.data); this.imgList=response.data;
} }
}); });
this.imgViewerVisible = true; this.imgViewerVisible = true;
@ -562,11 +564,6 @@ export default {
}; };
document.body.style.overflow = 'hidden'; document.body.style.overflow = 'hidden';
document.addEventListener("touchmove", m, false); // document.addEventListener("touchmove", m, false); //
} else {
this.toViewCompanyCert(row);
}
}, },
closeImgViewer() { closeImgViewer() {
this.imgViewerVisible = false; this.imgViewerVisible = false;
@ -783,9 +780,9 @@ export default {
return; return;
} }
// //
const isLt = file.size / 1024 / 1024 / 10 <= 1; const isLt = file.size / 1024 / 1024 / 30 <= 1;
if (!isLt) { if (!isLt) {
this.$message.error("上传文件大小不能超过 10MB"); this.$message.error("上传文件大小不能超过 30MB");
for (let i = 0; i < fileList.length; i++) { for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid === uid) { if (fileList[i].uid === uid) {
fileList.splice(i, 1) fileList.splice(i, 1)
@ -808,7 +805,7 @@ export default {
}, },
printSupCert(row) { printSupCert(row) {
var selectIds = [row.id]; var selectIds = [row.id];
let query = {moduleId: 9}; let query = {id: 2};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -847,7 +844,7 @@ export default {
this.$message.error("请先选择打印的证书!"); this.$message.error("请先选择打印的证书!");
return return
} }
let query = {moduleId: 9}; let query = {id: 2};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {

@ -39,7 +39,7 @@
> >
</div> </div>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 40px"> <el-row :gutter="20" class="el-row" type="flex" style="margin-top: 40px">
<el-col :span="10" class="el-col" v-if="fromType==2"> <el-col :span="10" class="el-col">
<el-form-item label="所属供应商:" label-width="150px" prop="customerId"> <el-form-item label="所属供应商:" label-width="150px" prop="customerId">
<el-select <el-select
v-model="inputQuery.customerId" v-model="inputQuery.customerId"
@ -69,20 +69,20 @@
</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">
<el-form-item label="企业名称:" label-width="150px" prop="companyName"> <el-form-item label="生产企业:" label-width="150px" prop="companyName">
<el-input <el-input
size="small" size="small"
placeholder="请输入企业名称" placeholder="请输入生产企业"
v-model="inputQuery.companyName" v-model="inputQuery.companyName"
@input="change()" @input="change()"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="统一社会信用代码:" label-width="150px" prop="creditCode"> <el-form-item label="社会信用号:" label-width="150px" prop="creditCode">
<el-input <el-input
size="small" size="small"
placeholder="请输入统一社会信用代码" placeholder="请输入社会信用号"
v-model="inputQuery.creditCode" v-model="inputQuery.creditCode"
@input="change()" @input="change()"
></el-input> ></el-input>
@ -92,12 +92,13 @@
<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">
<el-form-item label="企业类型:" label-width="150px" prop="companyType"> <el-form-item label="境内境外企业:" label-width="150px" prop="companyType">
<el-select <el-select
size="small" size="small"
v-model="inputQuery.companyType" v-model="inputQuery.companyType"
placeholder="请选择企业类型" placeholder="请选择境内境外企业"
style="width: 100%;" style="width: 100%;"
@input="companyTypeChange()"
> >
<el-option label="境内企业" value="1"></el-option> <el-option label="境内企业" value="1"></el-option>
<el-option label="境外企业" value="2"></el-option> <el-option label="境外企业" value="2"></el-option>
@ -157,7 +158,6 @@
size="small" size="small"
placeholder="请输入内容" placeholder="请输入内容"
v-model="inputQuery.placeAddress" v-model="inputQuery.placeAddress"
@input="change()"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -167,11 +167,24 @@
size="small" size="small"
placeholder="请输入内容" placeholder="请输入内容"
v-model="inputQuery.productionAddress" v-model="inputQuery.productionAddress"
@input="change()"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-form-item label="代理商名称:" label-width="150px" prop="agentName">
<el-input
size="small"
placeholder="请输入代理商名称"
v-model="inputQuery.agentName"
:disabled="inputQuery.companyType==1"
></el-input>
</el-form-item>
</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="20" class="el-col"> <el-col :span="20" class="el-col">
<el-form-item label="备注:" label-width="150px" prop="remark"> <el-form-item label="备注:" label-width="150px" prop="remark">
@ -204,10 +217,12 @@
> >
</div> </div>
<el-table v-loading="certLoading" :data="certList" style="width: 100%;margin-top: 40px" border highlight-current-row> <el-table v-loading="certLoading" :data="certList" style="width: 100%;margin-top: 40px" border
highlight-current-row
>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="证书名称" prop="name"></el-table-column> <el-table-column label="证书名称" prop="name"></el-table-column>
<el-table-column label="证书编号" prop="name"></el-table-column> <el-table-column label="证书编号" prop="code"></el-table-column>
<el-table-column label="生效期" prop="vailDate"></el-table-column> <el-table-column label="生效期" prop="vailDate"></el-table-column>
<el-table-column label="失效期" prop="expireDate"></el-table-column> <el-table-column label="失效期" prop="expireDate"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus" width="120"> <el-table-column label="审核状态" prop="auditStatus" width="120">
@ -227,33 +242,19 @@
<el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" width="250"> <el-table-column label="操作" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button type="text" size="small" @click.native="addCert(scope.row)">编辑</el-button>
type="text" <el-button type="text" size="mini" @click.native="showImgViewer(scope.row)">预览</el-button>
size="small" <el-button type="text" size="small"
@click.native="addCert(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native="toViewCompanyCert(scope.row)"
>预览
</el-button
>
<el-button
type="text"
size="small"
v-if="scope.row.auditStatus == 0 || scope.row.auditStatus == 2|| scope.row.auditStatus == 6" v-if="scope.row.auditStatus == 0 || scope.row.auditStatus == 2|| scope.row.auditStatus == 6"
@click.native="deleteCompanyCert(scope.row)" @click.native="deleteCompanyCert(scope.row)"
>删除 >删除
</el-button </el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer" :url-list="imgList"/>
<pagination <pagination
v-show="certTotal>0" v-show="certTotal>0"
:total="certTotal" :total="certTotal"
@ -272,7 +273,7 @@
width="70%" width="70%"
v-if="addCertVisible" v-if="addCertVisible"
append-to-body append-to-body
@close='closeLocalDialog' @close="closeLocalDialog"
> >
<companyAddCert <companyAddCert
:closeDialog="closeLocalDialog" :closeDialog="closeLocalDialog"
@ -289,7 +290,7 @@
width="70%" width="70%"
v-if="selectCertVisible" v-if="selectCertVisible"
append-to-body append-to-body
@close='closeLocalDialog' @close="closeLocalDialog"
> >
<supCertSetSelectDialog <supCertSetSelectDialog
:certType="certType" :certType="certType"
@ -303,34 +304,41 @@
</template> </template>
<script> <script>
import {getCompanyInfo, addOrModifyCompany} from "../../../api/purchase/supManufacturer"; import { getCompanyInfo, addOrModifyCompany } from '../../../api/purchase/supManufacturer'
import {provinceAndCityData, regionData, provinceAndCityDataPlus, regionDataPlus, CodeToText, TextToCode,} from "element-china-area-data"; import {
import {filterCompanyCert, deleteCompanyCert, updateCompanyCert} from "../../../api/purchase/companyCert"; provinceAndCityData,
import companyAddCert from "@/views/purchase/cert/supCertAddDialog"; regionData,
import draggable from "vuedraggable"; provinceAndCityDataPlus,
import {getSupComapnys} from "@/api/purchase/supCompany"; regionDataPlus,
import {getUUID} from "@/utils/strUtil"; CodeToText,
import supCertSetSelectDialog from "@/views/purchase/cert/supCertSetSelectDialog"; TextToCode
} from 'element-china-area-data'
import { filterCompanyCert, deleteCompanyCert, updateCompanyCert } from '../../../api/purchase/companyCert'
import companyAddCert from '@/views/purchase/cert/supCertAddDialog'
import draggable from 'vuedraggable'
import { getSupComapnys, previewImage } from '@/api/purchase/supCompany'
import { getUUID } from '@/utils/strUtil'
import supCertSetSelectDialog from '@/views/purchase/cert/supCertSetSelectDialog'
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
export default { export default {
name: "supManufacturerEdit", name: 'supManufacturerEdit',
props: { props: {
addCloseDialog: { addCloseDialog: {
type: Function, type: Function,
required: true, required: true
}, },
inputQuery: { inputQuery: {
type: Object, type: Object,
required: true, required: true
}, },
editType: { editType: {
type: Object, type: Object,
required: true, required: true
}, },
fromType: { fromType: {
type: Object, type: Object,
required: true, required: true
} }
}, },
data() { data() {
@ -340,92 +348,94 @@ export default {
classesDisplay: false, classesDisplay: false,
selectedOptions: [], selectedOptions: [],
selectedOptions2: [], selectedOptions2: [],
imgViewerVisible: false,
imgList: [],
options: regionData, options: regionData,
rules: { rules: {
customerId: [ customerId: [
{ {
required: true, required: true,
message: "请选择所属供应商", message: '请选择所属供应商',
trigger: "blur" trigger: 'blur'
} }
], ],
companyName: [ companyName: [
{ {
required: true, required: true,
message: "请输入企业名称", message: '请输入企业名称',
trigger: "blur" trigger: 'blur'
} }
], ],
creditCode: [ creditCode: [
{ {
required: true, required: true,
message: "请输入统一社会信用代码", message: '请输入统一社会信用代码',
trigger: "blur" trigger: 'blur'
} }
], ],
companyType: [ companyType: [
{ {
required: true, required: true,
message: "请选择企业类型", message: '请选择企业类型',
trigger: "change" trigger: 'change'
} }
], ],
registerStatus: [ registerStatus: [
{ {
required: true, required: true,
message: "请选择登记状态", message: '请选择登记状态',
trigger: "change" trigger: 'change'
} }
], ],
placeArea: [ placeArea: [
{ {
required: true, required: true,
message: "请选择所在地区", message: '请选择所在地区',
trigger: "change" trigger: 'change'
} }
], ],
placeAddress: [ placeAddress: [
{ {
required: true, required: true,
message: "请输入所在地址", message: '请输入所在地址',
trigger: "change" trigger: 'change'
} }
], ],
legalPersonName: [ legalPersonName: [
{ {
required: true, required: true,
message: "请输入法人姓名", message: '请输入法人姓名',
trigger: "change" trigger: 'change'
} }
], ],
legalPersonPapersType: [ legalPersonPapersType: [
{ {
required: true, required: true,
message: "请选择法人证件类型", message: '请选择法人证件类型',
trigger: "change" trigger: 'change'
} }
], ],
legalPersonPapersCode: [ legalPersonPapersCode: [
{ {
required: true, required: true,
message: "请输入法人证件号码", message: '请输入法人证件号码',
trigger: "change" trigger: 'change'
} }
], ]
}, },
uploadUrl: "", uploadUrl: '',
fileList: [], fileList: [],
fileUrl: "", fileUrl: '',
certFileUrl: "", certFileUrl: '',
url: 'http://127.0.0.1:9996/udiwms/image/register/file/getImage?type=image1&name=t11111.jpg', url: 'http://127.0.0.1:9996/udiwms/image/register/file/getImage?type=image1&name=t11111.jpg',
certQuery: { certQuery: {
customerId: null, customerId: null,
manufacturerIdFk: null, manufacturerIdFk: null,
page: 1, page: 1,
limit: 20, limit: 20,
type: 2, type: 2
}, },
certList: [], certList: [],
certTotal: 0, certTotal: 0,
@ -433,269 +443,297 @@ export default {
addCertVisible: false, addCertVisible: false,
fromOptions: [], fromOptions: [],
idQuery: { idQuery: {
id: "", id: ''
}, },
addType: "2", //1:2.3. addType: '2', //1:2.3.
checkFlag: { checkFlag: {
0: "草稿", 0: '草稿',
1: "已通过", 1: '已通过',
2: "已拒绝", 2: '已拒绝',
3: "变更未审核", 3: '变更未审核',
6: "未审核", 6: '未审核'
}, },
statusFlag: { statusFlag: {
0: "有效", 0: '有效',
1: "失效", 1: '失效'
}, },
editTye: 1, editTye: 1,
formName: 1, formName: 1,
formMap: { formMap: {
1: "新增生产企业资质证书", 1: '新增生产企业资质证书',
2: "编辑生产企业资质证书", 2: '编辑生产企业资质证书'
}, },
manufacturerId: null, manufacturerId: null,
customerId: null, customerId: null,
selectCertVisible: false, selectCertVisible: false,
certType: 2, certType: 2
}; }
}, },
created() { created() {
if (this.editType == 0) { if (this.editType == 0) {
this.inputQuery.manufacturerId = getUUID("") this.inputQuery.manufacturerId = getUUID('')
} else { } else {
this.certQuery.customerId = this.inputQuery.customerId; this.certQuery.customerId = this.inputQuery.customerId
this.selectedOptions = this.inputQuery.placeAreaCode.split(","); this.selectedOptions = this.inputQuery.placeAreaCode.split(',')
if(this.inputQuery.productionAreaCode!="" && this.inputQuery.productionAreaCode!=null && this.inputQuery.productionAreaCode!=undefined){ if (this.inputQuery.productionAreaCode != '' && this.inputQuery.productionAreaCode != null && this.inputQuery.productionAreaCode != undefined) {
this.selectedOptions2 = this.inputQuery.productionAreaCode.split(","); this.selectedOptions2 = this.inputQuery.productionAreaCode.split(',')
} }
} }
this.certQuery.manufacturerIdFk = this.inputQuery.manufacturerId; this.certQuery.manufacturerIdFk = this.inputQuery.manufacturerId
this.manufacturerId = this.inputQuery.manufacturerId this.manufacturerId = this.inputQuery.manufacturerId
this.customerId = this.inputQuery.customerId; this.customerId = this.inputQuery.customerId
// this.getData(); // this.getData();
this.getCompanyCertList(); this.getCompanyCertList()
this.findMethod(); this.findMethod()
this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file"; this.uploadUrl = this.BASE_URL + '/udiwms/upload/register/file'
this.fileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.fileUrl = this.BASE_URL + '/udiwms/image/register/file/getImage?type=image2&name='
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.certFileUrl = this.BASE_URL + '/udiwms/image/register/file/getImage?type=image2&name='
}, },
components: { components: {
draggable, draggable,
companyAddCert, supCertSetSelectDialog companyAddCert, supCertSetSelectDialog, ElImageViewer
}, },
methods: { methods: {
onModifySubmit(type) { onModifySubmit(type) {
this.addOrModifyCompany(type); this.addOrModifyCompany(type)
}, },
addOrModifyCompany (type){ addOrModifyCompany(type) {
this.$refs["inputQuery"].validate(valid => { this.$refs['inputQuery'].validate(valid => {
if (valid) { if (valid) {
let formData = JSON.parse(JSON.stringify(this.inputQuery))
let formData = JSON.parse(JSON.stringify(this.inputQuery)); formData.auditStatus = type
formData.auditStatus = type; this.loading = true
this.loading = true; let urlName = this.editType == 0 ? 'add' : 'update'
let urlName = this.editType == 0 ? 'add' : 'update';
addOrModifyCompany(formData, urlName).then(response => { addOrModifyCompany(formData, urlName).then(response => {
this.loading = false; this.loading = false
if (response.code === 20000) { if (response.code === 20000) {
this.addCloseDialog(true); this.addCloseDialog(true)
this.$message.success("保存成功"); this.$message.success('保存成功')
} else { } else {
this.$message.error(response.message); this.$message.error(response.message)
} }
}); })
} else { } else {
console.log("error submit!!"); console.log('error submit!!')
return false; return false
} }
}); })
}, },
certHandleCurrentChange(val) { certHandleCurrentChange(val) {
this.certQuery.page = val.page; this.certQuery.page = val.page
this.getCompanyCertList(); this.getCompanyCertList()
},
companyTypeChange(val) {
if (this.inputQuery.companyType == 1 && this.inputQuery.agentName!=null) {
this.inputQuery.agentName = null
}
}, },
getCompanyCertList() { getCompanyCertList() {
this.certLoading = true; this.certLoading = true
filterCompanyCert(this.certQuery) filterCompanyCert(this.certQuery)
.then((response) => { .then((response) => {
this.certLoading = false; this.certLoading = false
this.certList = response.data.list || []; this.certList = response.data.list || []
this.certTotal=response.data.total this.certTotal = response.data.total
}) })
.catch(() => { .catch(() => {
this.certLoading = false; this.certLoading = false
this.certList = []; this.certList = []
}); })
}, },
addCert(row) { addCert(row) {
if (this.$isNotBlank(row)) { if (this.$isNotBlank(row)) {
this.formName = 2 this.formName = 2
this.inputQuery.formData = row; this.inputQuery.formData = row
this.editTye = 2; this.editTye = 2
} else { } else {
this.formName = 1; this.formName = 1
this.inputQuery.formData = {}; this.inputQuery.formData = {}
this.editTye = 1; this.editTye = 1
} }
this.addCertVisible = true; this.addCertVisible = true
}, },
selectCert() { selectCert() {
this.customerId = this.inputQuery.customerId; this.customerId = this.inputQuery.customerId
this.selectCertVisible = true; this.selectCertVisible = true
}, },
toViewCompanyCert(row) { toViewCompanyCert(row) {
window.open(this.certFileUrl + row.filePath); window.open(this.certFileUrl + row.filePath)
}, },
deleteCompanyCert(row) { deleteCompanyCert(row) {
this.$confirm("是否删除?", "提示", { this.$confirm('是否删除?', '提示', {
confirmButtonText: "确定", confirmButtonText: '确定',
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then(() => { }).then(() => {
this.certLoading = true; this.certLoading = true
let tquery = { let tquery = {
id: row.id, id: row.id,
filePath: row.filePath, filePath: row.filePath
}; }
deleteCompanyCert(tquery) deleteCompanyCert(tquery)
.then((response) => { .then((response) => {
this.certLoading = false; this.certLoading = false
if (response.code === 20000) { if (response.code === 20000) {
this.getCompanyCertList(); this.getCompanyCertList()
this.$message({ this.$message({
type: "success", type: 'success',
message: "删除成功!", message: '删除成功!'
}); })
} else { } else {
this.$message.error(response.message); this.$message.error(response.message)
} }
}) })
.catch(() => { .catch(() => {
this.certLoading = false; this.certLoading = false
}); })
}).catch(() => { }).catch(() => {
}); })
}, },
isAssetTypeAnImage(ext) {
return [
'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + '/udiwms/image/register/file/getImage?type=image2&name='
this.imgList = []
previewImage({ imageUrl: row.filePath, certFileUrl: this.certFileUrl }).then(response => {
if (response.code === 20000) {
this.imgList = response.data
}
})
this.imgViewerVisible = true
const m = (e) => {
e.preventDefault()
}
document.body.style.overflow = 'hidden'
document.addEventListener('touchmove', m, false) //
},
closeImgViewer() {
this.imgViewerVisible = false
const m = (e) => {
e.preventDefault()
}
document.body.style.overflow = 'auto'
document.removeEventListener('touchmove', m, true)
},
disableCert(row, status) { disableCert(row, status) {
row.status = status; row.status = status
updateCompanyCert(row).then(response => { updateCompanyCert(row).then(response => {
this.loading = false; this.loading = false
if (response.code === 20000) { if (response.code === 20000) {
this.$message.success("更新成功!"); this.$message.success('更新成功!')
this.getCompanyCertList(); this.getCompanyCertList()
} else { } else {
this.$message.error(response.message); this.$message.error(response.message)
} }
}); })
}, },
closeLocalDialog() { closeLocalDialog() {
this.addCertVisible = false; this.addCertVisible = false
this.selectCertVisible = false; this.selectCertVisible = false
this.getCompanyCertList(); this.getCompanyCertList()
}, },
findMethod(query) { findMethod(query) {
this.fromOptions = []; this.fromOptions = []
let cQuery = { let cQuery = {
companyName: query, companyName: query
}; }
getSupComapnys(cQuery) getSupComapnys(cQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false
this.fromOptions = response.data.list || []; this.fromOptions = response.data.list || []
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false
}); })
} }
, ,
unitChange(val) { unitChange(val) {
this.certQuery.customerId = val; this.certQuery.customerId = val
}, },
handleChange(value) { handleChange(value) {
this.inputQuery.placeArea = this.inputQuery.placeArea =
CodeToText[value[0]] + CodeToText[value[1]] + CodeToText[value[2]]; CodeToText[value[0]] + CodeToText[value[1]] + CodeToText[value[2]]
console.log(this.inputQuery.placeArea) console.log(this.inputQuery.placeArea)
this.inputQuery.placeAreaCode = value.toString(); this.inputQuery.placeAreaCode = value.toString()
}, },
handleChange2(value) { handleChange2(value) {
this.inputQuery.productionArea = this.inputQuery.productionArea =
CodeToText[value[0]] + CodeToText[value[1]] + CodeToText[value[2]]; CodeToText[value[0]] + CodeToText[value[1]] + CodeToText[value[2]]
this.inputQuery.productionAreaCode = value.toString(); this.inputQuery.productionAreaCode = value.toString()
}, },
uploadHandleRemove(file, fileList) { uploadHandleRemove(file, fileList) {
console.log(file, fileList); console.log(file, fileList)
}, },
uploadHandlePreview(file) { uploadHandlePreview(file) {
console.log(file); console.log(file)
console.log(this.fileList); console.log(this.fileList)
}, },
uploadHandleExceed(files, fileList) { uploadHandleExceed(files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
}, },
uploadOnchange(file, fileList) { uploadOnchange(file, fileList) {
let fileName = file.name; let fileName = file.name
let uid = file.uid let uid = file.uid
let pos = fileName.lastIndexOf("."); let pos = fileName.lastIndexOf('.')
let lastName = fileName.substring(pos, fileName.length); let lastName = fileName.substring(pos, fileName.length)
if (lastName.toLowerCase() !== ".jpg" && lastName.toLowerCase() !== ".png") { if (lastName.toLowerCase() !== '.jpg' && lastName.toLowerCase() !== '.png') {
this.$message.error("上传文件只能是 .jpg,.png 格式"); this.$message.error('上传文件只能是 .jpg,.png 格式')
for (let i = 0; i < fileList.length; i++) {//list for (let i = 0; i < fileList.length; i++) {//list
if (fileList[i].uid === uid) { if (fileList[i].uid === uid) {
fileList.splice(i, 1) fileList.splice(i, 1)
} }
} }
return; return
} }
// //
const isLt = file.size / 1024 / 1024 / 2 <= 1; const isLt = file.size / 1024 / 1024 / 30 <= 1
if (!isLt) { if (!isLt) {
this.$message.error("上传文件大小不能超过 2MB"); this.$message.error('上传文件大小不能超过 30MB')
for (let i = 0; i < fileList.length; i++) { for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid === uid) { if (fileList[i].uid === uid) {
fileList.splice(i, 1) fileList.splice(i, 1)
} }
} }
} }
return isLt; return isLt
}, },
uploadHandleSuccess(response, file, fileList) { uploadHandleSuccess(response, file, fileList) {
console.log(response) console.log(response)
if (response.code === 20000) { if (response.code === 20000) {
this.inputQuery.newFilePath = response.data.name; this.inputQuery.newFilePath = response.data.name
this.onModifySubmit('inputQuery'); this.onModifySubmit('inputQuery')
} else { } else {
this.$message.error("文件上传失败:" + response.message); this.$message.error('文件上传失败:' + response.message)
} }
}, },
uploadHandleError() { uploadHandleError() {
}, }
}, },
filters: { filters: {
statusFilterType(status) { statusFilterType(status) {
const statusMap = { const statusMap = {
0: "warning", 0: 'warning',
1: "success", 1: 'success',
2: "danger", 2: 'danger',
6: "warning", 6: 'warning'
}; }
return statusMap[status]; return statusMap[status]
}, }
}, }
}; }
</script> </script>
<style> <style>
.itemTag { .itemTag {

@ -30,7 +30,7 @@
</el-button </el-button
> >
<el-button <el-button
v-if="editType==1" v-if="editType==1 && auditType!=1"
type="primary" type="primary"
size="mini" size="mini"
icon="search" icon="search"
@ -213,6 +213,7 @@
</el-form> </el-form>
<el-card class="el-card"> <el-card class="el-card">
<el-table v-loading="certLoading" :data="certList" ref="certTable" style="width: 100%" border highlight-current-row> <el-table v-loading="certLoading" :data="certList" ref="certTable" style="width: 100%" border highlight-current-row>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="证书名称" prop="name"></el-table-column> <el-table-column label="证书名称" prop="name"></el-table-column>
<el-table-column label="证书编号" prop="code"></el-table-column> <el-table-column label="证书编号" prop="code"></el-table-column>
@ -234,7 +235,7 @@
<el-table-column label="操作" width="250"> <el-table-column label="操作" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="editType==1" type="text" size="small" @click.native="printSupCert(scope.row)"></el-button> <el-button v-if="editType==1 && auditType!=1" type="text" size="small" @click.native="printSupCert(scope.row)"></el-button>
<el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button> <el-button type="text" size="small" v-if="editType==2" @click.native="auditCert(scope.row)"></el-button>
<el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)"> <el-button type="text" size="small" v-if="scope.row.auditStatus==1" @click.native="revoke(scope.row)">
撤回 撤回
@ -384,6 +385,10 @@ export default {
editType: { editType: {
type: Object, type: Object,
required: true, required: true,
},
auditType: {
type: Object,
required: true
} }
}, },
data() { data() {
@ -555,26 +560,17 @@ export default {
indexOf(ext.toLowerCase()) !== -1; indexOf(ext.toLowerCase()) !== -1;
}, },
showImgViewer(row){ showImgViewer(row){
var varindex= row.filePath.lastIndexOf(".");
var varext = row.filePath.substring(varindex+1);
var isImage=this.isAssetTypeAnImage(varext);
if(isImage==true){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList=[]; this.imgList=[];
previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => { previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) { if (response.code === 20000) {
this.imgList.push(response.data); this.imgList=response.data;
} }
}); });
this.imgViewerVisible = true; this.imgViewerVisible = true;
const m = (e) => { e.preventDefault() }; const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden'; document.body.style.overflow = 'hidden';
document.addEventListener("touchmove", m, false); // document.addEventListener("touchmove", m, false); //
}else{
this.toViewCompanyCert(row);
}
}, },
closeImgViewer(){ closeImgViewer(){
this.imgViewerVisible = false; this.imgViewerVisible = false;
@ -783,7 +779,7 @@ export default {
}, },
printSupCert(row) { printSupCert(row) {
var selectIds=[row.id]; var selectIds=[row.id];
let query = {moduleId: 10}; let query = {id: 3};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -822,7 +818,7 @@ export default {
this.$message.error("请先选择打印的证书!"); this.$message.error("请先选择打印的证书!");
return return
} }
let query = {moduleId: 10}; let query = {id: 3};
this.loading = true; this.loading = true;
verifyTemplateFile(query).then((res) => { verifyTemplateFile(query).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {

@ -4,19 +4,18 @@
:model="inputQuery" :model="inputQuery"
:rules="rules" :rules="rules"
ref="inputQuery" ref="inputQuery"
label-width="100px" label-width="150px"
style="margin-top: -30px" style="margin-top: -30px"
> >
<el-card class="el-card"> <el-card class="el-card">
<div style="float: right"> <div style="float: right">
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
icon="search" icon="search"
v-if="inputQuery.auditStatus == 0" v-if="inputQuery.auditStatus == 0"
@click="selectProduct()" @click="selectProduct()"
>选入产品 >选入物资字典
</el-button </el-button
> >
<el-button <el-button
@ -47,10 +46,9 @@
</el-button </el-button
> >
</div> </div>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top:50px"> <el-row :gutter="20" class="el-row" type="flex" style="margin-top:50px">
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="所属供应商:" label-width="150px" prop="customerId"> <el-form-item label="所属供应商:" prop="customerId">
<el-select <el-select
v-model="inputQuery.customerId" v-model="inputQuery.customerId"
filterable filterable
@ -76,9 +74,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="所属生产企业:" label-width="150px" prop="manufacturerIdFk"> <el-form-item label="所属生产企业:" prop="manufacturerIdFk">
<el-select <el-select
v-model="inputQuery.manufacturerIdFk" v-model="inputQuery.companyName"
filterable filterable
remote remote
clearable="true" clearable="true"
@ -104,7 +102,7 @@
<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">
<el-form-item label="产品通用名称:" label-width="150px" prop="recordProductName"> <el-form-item label="产品通用名称:" prop="recordProductName">
<el-input <el-input
size="small" size="small"
disabled disabled
@ -115,7 +113,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="注册/备案人名称:" label-width="150px" prop="recordPeopleName"> <el-form-item label="注册/备案人名称:" prop="recordPeopleName">
<el-input <el-input
size="small" size="small"
disabled disabled
@ -129,7 +127,7 @@
<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">
<el-form-item label="产品类别:" label-width="150px" prop="hchzsb"> <el-form-item label="产品类别:" prop="hchzsb">
<el-select <el-select
size="small" size="small"
disabled disabled
@ -143,7 +141,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="器械类别:" label-width="150px" prop="productType"> <el-form-item label="器械类别:" prop="qxlb">
<el-select <el-select
size="small" size="small"
v-model="inputQuery.productType" v-model="inputQuery.productType"
@ -160,7 +158,7 @@
<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">
<el-form-item label="注册/备案号:" label-width="150px" prop="recordCode"> <el-form-item label="注册/备案号:" prop="recordCode">
<el-input <el-input
size="small" size="small"
placeholder="请输入内容" placeholder="请输入内容"
@ -170,7 +168,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" class="el-col"> <el-col :span="10" class="el-col">
<el-form-item label="器械目录分类编码:" label-width="150px" prop="productDirectoryCode"> <el-form-item label="器械目录分类编码:" prop="productDirectoryCode">
<el-input <el-input
size="small" size="small"
placeholder="请输入内容" placeholder="请输入内容"
@ -182,73 +180,36 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-form-item label="允许无批次号" label-width="150px">
<el-select v-model="inputQuery.allowNoBatch" style="width: 100%" size="small">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" class="el-col">
<el-form-item label="允许无失效日期" label-width="150px">
<el-select v-model="inputQuery.allowNoExpire" style="width: 100%" size="small">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<el-form-item label="允许无生产日期" label-width="150px">
<el-select v-model="inputQuery.allowNoProduct" style="width: 100%" size="small">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" class="el-col">
<el-form-item label="允许无序列号" label-width="150px">
<el-select v-model="inputQuery.allowNoSerial" style="width: 100%" size="small">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-form-item>
</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">-->
<!-- <el-form-item label="产品描述:" label-width="150px" prop="cpms">--> <!-- <el-form-item label="产品描述:" prop="cpms">-->
<!-- <el-input--> <!-- <el-input-->
<!-- size="small"--> <!-- size="small"-->
<!-- placeholder="请输入内容"--> <!-- placeholder="请输入内容"-->
<!-- v-model="inputQuery.cpms"--> <!-- v-model="inputQuery.cpms"-->
<!-- @input="change()"--> <!-- @input="change()"-->
<!-- ></el-input>--> <!-- ></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- <el-col :span="10" class="el-col">--> <!-- <el-col :span="10" class="el-col">-->
<!-- <el-form-item label="规格型号:" label-width="150px" prop="specification" >--> <!-- <el-form-item label="规格型号:" prop="specification">-->
<!-- <el-input--> <!-- <el-input-->
<!-- size="small"--> <!-- size="small"-->
<!-- type="textarea"--> <!-- type="textarea"-->
<!-- autosize--> <!-- autosize-->
<!-- placeholder="请输入内容"--> <!-- placeholder="请输入内容"-->
<!-- v-model="inputQuery.specification"--> <!-- v-model="inputQuery.specification"-->
<!-- @input="change()"--> <!-- @input="change()"-->
<!-- ></el-input>--> <!-- ></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </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="20" class="el-col"> <el-col :span="20" class="el-col">
<el-form-item label="备注:" label-width="150px" prop="remark"> <el-form-item label="备注:" prop="remark">
<el-input <el-input
type="textarea" type="textarea"
size="small" size="small"
@ -277,10 +238,11 @@
</el-button </el-button
> >
</div> </div>
<el-table v-loading="certLoading" :data="certList" style="width: 100%;margin-top: 40px" border highlight-current-row> <el-table v-loading="certLoading" :data="certList" style="width: 100%;margin-top: 40px" border
highlight-current-row>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="证书名称" prop="name"></el-table-column> <el-table-column label="证书名称" prop="name"></el-table-column>
<el-table-column label="证书编号" prop="name"></el-table-column> <el-table-column label="证书编号" prop="code"></el-table-column>
<el-table-column label="生效期" prop="vailDate"></el-table-column> <el-table-column label="生效期" prop="vailDate"></el-table-column>
<el-table-column label="失效期" prop="expireDate"></el-table-column> <el-table-column label="失效期" prop="expireDate"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus" width="120"> <el-table-column label="审核状态" prop="auditStatus" width="120">
@ -308,13 +270,7 @@
>编辑 >编辑
</el-button </el-button
> >
<el-button <el-button type="text" size="mini" @click.native="showImgViewer(scope.row)">预览</el-button>
type="text"
size="small"
@click.native="toViewCompanyCert(scope.row)"
>预览
</el-button
>
<el-button <el-button
type="text" type="text"
size="small" size="small"
@ -333,7 +289,8 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer"
:url-list="imgList"/>
<pagination <pagination
v-show="certTotal>0" v-show="certTotal>0"
:total="certTotal" :total="certTotal"
@ -383,7 +340,7 @@
<el-dialog <el-dialog
title="选入产品" title="选入物资字典信息"
:visible.sync="selectSingleProductVisible" :visible.sync="selectSingleProductVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
@ -402,16 +359,21 @@
</template> </template>
<script> <script>
import {getRegistrationInfo, addOrModifyRegistration, bindProduct} from "../../../api/purchase/suppliersRegistrationBasic"; import {
getRegistrationInfo,
addOrModifyRegistration,
bindProduct
} from "../../../api/purchase/suppliersRegistrationBasic";
import {regionDataPlus} from "element-china-area-data"; import {regionDataPlus} from "element-china-area-data";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import {getSupComapnys} from "@/api/purchase/supCompany"; import {getSupComapnys, previewImage} from '@/api/purchase/supCompany'
import {getCompanyList} from "@/api/purchase/supManufacturer"; import {getCompanyList} from "@/api/purchase/supManufacturer";
import {deleteCompanyCert, filterCompanyCert} from "@/api/purchase/companyCert"; import {deleteCompanyCert, filterCompanyCert} from "@/api/purchase/companyCert";
import companyAddCert from "@/views/purchase/cert/supCertAddDialog"; import companyAddCert from "@/views/purchase/cert/supCertAddDialog";
import supCertSetSelectDialog from "@/views/purchase/cert/supCertSetSelectDialog"; import supCertSetSelectDialog from "@/views/purchase/cert/supCertSetSelectDialog";
import companyProducts from "@/views/purchase/company/companyProducts"; import companyProducts from "@/views/purchase/company/companyProducts";
import {getUUID} from "@/utils/strUtil"; import {getUUID} from "@/utils/strUtil";
import ElImageViewer from "element-ui/packages/image/src/image-viewer"
export default { export default {
name: "supProductEditDialog", name: "supProductEditDialog",
@ -438,6 +400,8 @@ export default {
BASE_URL: process.env.VUE_APP_BASE_API, BASE_URL: process.env.VUE_APP_BASE_API,
fromOptions: [], fromOptions: [],
fromPMOptions: [], fromPMOptions: [],
imgViewerVisible: false,
imgList: [],
pmQuery: { pmQuery: {
customerId: null, customerId: null,
companyName: null, companyName: null,
@ -446,7 +410,7 @@ export default {
}, },
loading: false, loading: false,
classesDisplay: false, classesDisplay: false,
cuStatus:0, cuStatus: 0,
selectedOptions: [], selectedOptions: [],
selectedOptions2: [], selectedOptions2: [],
options: regionDataPlus, options: regionDataPlus,
@ -461,13 +425,13 @@ export default {
], ],
manufacturerIdFk: [ // manufacturerIdFk: [
{ // {
required: true, // required: true,
message: "请选择生产企业", // message: "",
trigger: "change" // trigger: "change"
} // }
], // ],
recordCode: [ recordCode: [
{ {
@ -504,13 +468,13 @@ export default {
trigger: "change" trigger: "change"
} }
], ],
productDirectoryCode: [ // productDirectoryCode: [
{ // {
required: true, // required: true,
message: "请输入器械目录分类编码", // message: "",
trigger: "change" // trigger: "change"
} // }
], // ],
specification: [ specification: [
{ {
required: true, required: true,
@ -559,15 +523,16 @@ export default {
if (this.editType == 0) { if (this.editType == 0) {
this.inputQuery.productId = getUUID(""); this.inputQuery.productId = getUUID("");
this.inputQuery.customerId = this.currentManufacturer.customerId; this.inputQuery.customerId = this.currentManufacturer.customerId;
this.inputQuery.manufacturerIdFk = this.currentManufacturer.manufacturerId; this.inputQuery.companyName = this.currentManufacturer.companyName;
} else { } else {
this.getCompanyCertList(); this.getCompanyCertList();
this.pmQuery.customerId = this.inputQuery.customerId; this.pmQuery.customerId = this.inputQuery.customerId;
this.inputQuery.companyName = this.currentManufacturer.companyName;
} }
this.cuStatus=this.inputQuery.cuStatus; this.cuStatus = this.inputQuery.cuStatus;
this.manufacturerId = this.inputQuery.manufacturerIdFk this.manufacturerId = this.inputQuery.manufacturerId
this.productId = this.inputQuery.productId this.productId = this.inputQuery.productId
this.findMethod(); this.findMethod();
this.findPMMethod(); this.findPMMethod();
@ -575,22 +540,30 @@ export default {
}, },
components: { components: {
draggable, companyAddCert, supCertSetSelectDialog,companyProducts draggable, companyAddCert, supCertSetSelectDialog, companyProducts, ElImageViewer
}, },
methods: { methods: {
onModifySubmit(val) { onModifySubmit(val) {
if(val!=0){ if (val != 0) {
if(this.cuStatus!=1){ if (this.cuStatus != 1) {
this.$message.error("生产企业未通过审核不能提交!"); this.$message.error("生产企业未通过审核不能提交!");
return; return;
} }
} }
if(val==3){
this.$confirm( "已审核通过,是否需要重新提交变更", {
confirmButtonText: "确定",
type: "warning",
showCancelButton: false,
})
.then(() => {
this.$refs['inputQuery'].validate(valid => { this.$refs['inputQuery'].validate(valid => {
if (valid) { if (valid) {
// this.inputQuery.auditStatus = val; // this.inputQuery.auditStatus = val;
let formData = JSON.parse(JSON.stringify(this.inputQuery)); let formData = JSON.parse(JSON.stringify(this.inputQuery));
formData.manufacturerIdFk = this.manufacturerId;
formData.auditStatus = val; formData.auditStatus = val;
this.loading = true; this.loading = true;
let urlName = this.editType == 0 ? 'add' : 'update'; let urlName = this.editType == 0 ? 'add' : 'update';
@ -607,6 +580,32 @@ export default {
return false; return false;
} }
}); });
});
}else{
this.$refs['inputQuery'].validate(valid => {
if (valid) {
// this.inputQuery.auditStatus = val;
let formData = JSON.parse(JSON.stringify(this.inputQuery));
formData.manufacturerIdFk = this.manufacturerId;
formData.auditStatus = val;
this.loading = true;
let urlName = this.editType == 0 ? 'add' : 'update';
addOrModifyRegistration(formData, urlName).then(response => {
this.loading = false;
if (response.code === 20000) {
this.closeRegistrationDialog(true);
this.$message.success("保存成功");
} else {
this.$message.error(response.message);
}
});
} else {
return false;
}
});
}
}, },
toViewCompanyCert(row) { toViewCompanyCert(row) {
window.open(this.certFileUrl + row.filePath); window.open(this.certFileUrl + row.filePath);
@ -659,22 +658,50 @@ export default {
this.selectCertVisible = false; this.selectCertVisible = false;
this.getCompanyCertList(); this.getCompanyCertList();
}, },
isAssetTypeAnImage(ext) {
return [
'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1;
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList = [];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
}
});
this.imgViewerVisible = true;
const m = (e) => {
e.preventDefault()
};
document.body.style.overflow = 'hidden';
document.addEventListener("touchmove", m, false); //
},
closeImgViewer() {
this.imgViewerVisible = false;
const m = (e) => {
e.preventDefault()
};
document.body.style.overflow = 'auto';
document.removeEventListener("touchmove", m, true);
},
closeSelDialog(val) { closeSelDialog(val) {
if (val != null) { if (val != null) {
let query = { let query = {
productId: this.inputQuery.productId, productId: this.inputQuery.productId,
relIdFk: val, relIdFk: val,
manufacturerId: this.inputQuery.manufacturerIdFk, manufacturerId: this.inputQuery.manufacturerId,
customerId: this.inputQuery.customerId, customerId: this.inputQuery.customerId,
auditStatus: this.inputQuery.auditStatus, companyName: this.inputQuery.companyName,
auditStatus: this.inputQuery.auditStatus
}; };
bindProduct(query).then(response => { bindProduct(query).then(response => {
this.loading = false; this.loading = false;
if (response.code === 20000) { if (response.code === 20000) {
this.inputQuery = response.data; this.inputQuery = response.data;
this.inputQuery.manufacturerId=this.inputQuery.manufacturerIdFk
this.selectSingleProductVisible = false; this.selectSingleProductVisible = false;
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
@ -744,7 +771,7 @@ export default {
.then((response) => { .then((response) => {
this.certLoading = false; this.certLoading = false;
this.certList = response.data.list || []; this.certList = response.data.list || [];
this.certTotal=response.data.total this.certTotal = response.data.total
}) })
.catch(() => { .catch(() => {
this.certLoading = false; this.certLoading = false;

Loading…
Cancel
Save