单据库存代码迁移

prod
anthonywj 2 years ago
parent f30ce4b158
commit 0654060a66

@ -0,0 +1,419 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm">
<el-card style="margin-top: -30px">
<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-group>
<el-row>
<el-col :span="3">
<div class="ao-text">
<span>规格型号</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="inputQuery.spec" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>物资名称</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.coName" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<div class="ao-text">
<span>批次号</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="inputQuery.batchNo" auto-complete="off" :disabled="true" ></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>价格</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.price" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<div class="ao-text">
<span>生产企业</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="inputQuery.manufacturer" auto-complete="off" :disabled="true" ></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>注册/备案号</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.certCode" auto-complete="off" :disabled="true" ></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>生产日期</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.productDate" auto-complete="off" :disabled="true" ></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>计量单位</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.measname" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<div class="ao-text">
<span>送货数量</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="inputQuery.count" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>扫码数量</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="code">
<el-input v-model="inputQuery.scanCount" auto-complete="off" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<div class="ao-text">
<span>检验报告上传</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item>
<el-upload
:disabled="formData.auditStatus == 1"
class="upload-demo"
ref="upload"
:action="this.uploadUrl"
:on-preview="uploadHandlePreview"
:on-remove="uploadHandleRemove"
:limit="1"
:headers="headers"
:on-exceed="uploadHandleExceed"
accept=".jpg,.png,.pdf,.doc"
:on-change="uploadOnchange"
:on-success="uploadHandleSuccess"
:on-error="uploadHandleError"
:file-list="fileList"
:data="{type:'image2'}"
:auto-upload="true">
<el-button slot="trigger" size="small" type="primary" :disabled="formData.auditStatus == 1">
{{ choiceFile }}
</el-button>
<div>只能上传 jpg,png,pdf,doc 文件且不超过 10 MB</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text" v-if="this.inputQuery.filePath!=null">
<span>检验报告预览</span>
</div>
</el-col>
<el-col :span="8">
<el-button type="primary" size="mini" icon="search" v-if="this.inputQuery.filePath!=null"
style="text-align:right" @click="showImgViewer" >
检验报告预览
</el-button>
<el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer" :url-list="imgList"/>
</el-col>
</el-row>
</el-card>
</el-form>
</div>
</template>
<script>
import draggable from "vuedraggable";
import store from "@/store";
import {updateById} from '@/api/inout/orderDetailBiz'
import {updateOrderDetailBiz} from '@/api/inout/order'
import { previewImage } from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
name: "DialogCheck",
props: {
closeDialog: {
type: Function,
required: true,
},
inputQuery: {
type: Object,
required: true,
},
checkFileName: {
type: Object,
required: true,
},
},
data() {
return {
imgList:[],
imgViewerVisible:false,
BASE_URL: process.env.VUE_APP_BASE_API,
code: "",
formData: {
ggxh:"",
cpmctymc:"",
machineNo:"",
invoiceCode:"",
invoiceEncode:"",
price:"",
remark:"",
licenseUrl:""
},
// formRules: {
// name: [
// {required: true, message: "", trigger: "blur"}
// ],
// code: [
// {required: true, message: "", trigger: "blur"}
// ],
// },
loading: false,
uploadUrl: "",
fileList: [],
headers: {},
choiceFile: "选取文件",
};
},
components: {
draggable,ElImageViewer
},
methods: {
submitUpload() {
updateOrderDetailBiz(this.inputQuery).then((res) =>{
if(res.code==20000){
this.$message({
type: "success",
message: "修改成功!",
});
this.closeDialog();
}
} )
},
// onSubmit() {
// this.loading = true;
// this.formData.customerId = this.inputQuery.customerId;
// if (this.formData.customerId == null) {
// this.formData.customerId = store.getters.customerId
// }
// this.formData.type = this.addType;
// //1:2.3.
// if (this.addType == 2) {
// this.formData.manufacturerIdFk = this.inputQuery.manufacturerId;
// } else if (this.addType == 3) {
// this.formData.manufacturerIdFk = this.inputQuery.manufacturerIdFk;
// this.formData.productIdFk = this.inputQuery.productId;
// }
// if (this.formData.auditStatus != 1)
// this.formData.auditStatus = "6";
//
// if (this.editTye == 1) {
// insertCompanyCert(this.formData).then(response => {
// this.loading = false;
// if (response.code === 20000) {
// this.$message.success("");
// this.closeDialog(true);
// } else {
// this.$message.error(response.message);
// }
// });
// } else {
// updateCompanyCert(this.formData).then(response => {
// this.loading = false;
// if (response.code === 20000) {
// this.$message.success("");
// this.closeDialog(true);
// } else {
// this.$message.error(response.message);
// }
// });
// }
//
//
// },
uploadHandleRemove(file, fileList) {
this.inputQuery.filePath=null;
this.inputQuery.checkFileName=null;
console.log(file, fileList);
},
uploadHandlePreview(file) {
console.log(file);
console.log(this.fileList);
},
uploadHandleExceed(files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
uploadOnchange(file, fileList) {
this.inputQuery.checkFileName=file.name;
let fileName = file.name;
let uid = file.uid
let pos = fileName.lastIndexOf(".");
let lastName = fileName.substring(pos, fileName.length);
if (lastName.toLowerCase() !== ".jpg" && lastName.toLowerCase() !== ".png" && lastName.toLowerCase() !== ".doc" && lastName.toLowerCase() !== ".pdf") {
this.$message.error("上传文件只能是 jpg,png,doc,pdf 格式");
for (let i = 0; i < fileList.length; i++) {//list
if (fileList[i].uid === uid) {
fileList.splice(i, 1)
}
}
return;
}
//
const isLt = file.size / 1024 / 1024 / 30 <= 1;
if (!isLt) {
this.$message.error("上传文件大小不能超过 30MB");
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid === uid) {
fileList.splice(i, 1)
}
}
}
return isLt;
},
uploadHandleSuccess(response, file, fileList) {
if (response.code === 20000) {
this.inputQuery.filePath = response.data.name;
// this.onSubmit();
} else {
this.$message.error("文件上传失败:" + response.message);
}
},
uploadHandleError() {
},
showImgViewer(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.imgList=[];
previewImage({imageUrl:this.inputQuery.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
}
console.log(this.imgList)
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);
},
},
filters: {},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file";
this.headers = {
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token,
};
if (this.formData.formData == null) {
this.formData = {}
} else if (this.inputQuery.formData != null && this.inputQuery.formData.addType == 1) {
this.formData = {}
} else {
this.formData = this.inputQuery.formData;
console.log(this.inputQuery.formData);
}
if (this.inputQuery.filePath != null) {
this.choiceFile = "更换检验报告";
} else {
this.choiceFile = "选取检验报告";
}
},
};
</script>
<style>
.ao-text {
width: 100%;
font-size: 13px;
font-family: "Microsoft YaHei";
float: right;
text-align: right;
margin-top: 10px;
}
</style>

@ -92,32 +92,40 @@
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border border
@row-click="handleSelectionChange"> @current-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName"></el-table-column> <el-table-column label="送货单号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="订单号" prop="billNo" show-overflow-tooltip></el-table-column> <el-table-column label="单据类型" prop="billTypeName" width="150"></el-table-column>
<el-table-column label="来源订单号" prop="corpOrderId" show-overflow-tooltip></el-table-column>
<el-table-column label="来源" prop="fromType">
<template slot-scope="scope">
<span>{{ fromTypeMap[scope.row.fromType] }}</span>
</template>
</el-table-column>
<el-table-column label="往来单位" prop="fromName" width="220"> <el-table-column label="往来单位" prop="fromName" width="220">
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150">
<!--<template slot-scope="scope">-->
<!-- <i class="el-icon-time"></i>-->
<!-- <span>{{ scope.row.createTime }}</span>-->
<!--</template>-->
</el-table-column>
<el-table-column label="核对时间" prop="checkTime" show-overflow-tooltip width="150">
<!--<template slot-scope="scope">-->
<!-- <i class="el-icon-time"></i>-->
<!-- <span>{{ scope.row.createTime }}</span>-->
<!--</template>-->
</el-table-column>
<el-table-column label="当前部门" prop="deptName" width="120"> <el-table-column label="当前部门" prop="deptName" width="120">
</el-table-column> </el-table-column>
<el-table-column label="当前仓库" prop="invName" width="120"> <el-table-column label="当前仓库" prop="invName" width="120">
</el-table-column> </el-table-column>
<el-table-column label="所属科室" prop="deptName" width="120" v-if="enableDept"> <el-table-column label="核对人" prop="checkUserName" width="120">
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip> <el-table-column label="来源单号" prop="corpOrderId" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="来源" prop="fromType" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<i class="el-icon-time"></i> <span>{{ fromTypeMap[scope.row.fromType] }}</span>
<span>{{ scope.row.createTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="校验状态" prop="status" width="100">
<el-table-column label="审核状态" prop="status" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="statusFilterType(scope.row.status)">{{ <el-tag :type="statusFilterType(scope.row.status)">{{
checkStatus[scope.row.status] checkStatus[scope.row.status]
@ -125,7 +133,23 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="160" fixed="right"> <!-- <el-table-column label="验收状态" prop="status" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="statusFilterType(scope.row.status)">{{-->
<!-- reviceStatus[scope.row.status]-->
<!-- }}-->
<!-- </el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="审核状态" prop="status" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="statusFilterType(scope.row.status)">{{-->
<!-- checkStatus[scope.row.status]-->
<!-- }}-->
<!-- </el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -148,7 +172,7 @@
type="text" type="text"
size="small" size="small"
@click.native.stop="reviewOrder(scope.row)" @click.native.stop="reviewOrder(scope.row)"
>审核 >审核/验收
</el-button </el-button
> >
@ -177,10 +201,10 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-业务详情</span> <span slot="label">单据 {{ currentRow.billNo }}-业务详情</span>
<el-form :inline="true" :model="bizQuery" class="query-form" size="mini"> <el-form :inline="true" :model="bizQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input <el-input
v-model="bizQuery.productName" v-model="bizQuery.productName"
placeholder="请输入产品名称" placeholder="请输入物资名称"
clearable clearable
> >
</el-input> </el-input>
@ -206,48 +230,72 @@
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="物资名称" label="物资名称"
prop="coName" prop="coName" width="160"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="规格型号" label="规格型号" width="160"
prop="spec" prop="spec"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="批次号" label="批次号" width="120"
prop="batchNo" prop="batchNo"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产日期" label="生产日期" width="120"
prop="productDate" prop="productDate"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="失效日期" label="失效日期"
prop="expireDate" prop="expireDate" width="120"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="单据数量" label="单据数量" width="100"
prop="count" prop="count"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫码数量" label="扫码数量"
prop="scanCount" prop="scanCount" width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="价格" label="价格" width="100"
prop="price" prop="price"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产企业" label="生产企业" width="180"
prop="manufacturer" prop="manufacturer"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="注册/备案号" label="注册/备案号"
prop="certCode" prop="certCode" width="180"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column
label="检验报告"
width="160"
prop="checkFileName"
show-overflow-tooltip
>
<template slot-scope="scope">
<div style="color: #1890ff;" @click="showImgViewer(scope.row)">{{ scope.row.checkFileName }}</div>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="showImgViewer(scope.row)"
:disabled="scope.row.filePath == null"
>预览
</el-button
>
</template>
</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="bizTotal>0" v-show="bizTotal>0"
:total="bizTotal" :total="bizTotal"
@ -260,10 +308,10 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码详情</span> <span slot="label">单据 {{ currentRow.billNo }}-扫码详情</span>
<el-form :inline="true" :model="codeQuery" class="query-form" size="mini"> <el-form :inline="true" :model="codeQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input <el-input
v-model="codeQuery.productName" v-model="codeQuery.productName"
placeholder="请输入产品名称" placeholder="请输入物资名称"
clearable clearable
> >
</el-input> </el-input>
@ -289,48 +337,48 @@
> >
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="物资名称" label="物资名称" width="160"
prop="coName" prop="coName"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="规格型号" label="规格型号" width="160"
prop="spec" prop="spec"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="批次号" label="批次号" width="120"
prop="batchNo" prop="batchNo"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产日期" label="生产日期" width="120"
prop="productDate" prop="productDate"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="失效日期" label="失效日期" width="120"
prop="expireDate" prop="expireDate"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="单据数量" label="单据数量" width="100"
prop="orderCount" prop="orderCount"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫码数量" label="扫码数量"
prop="reCount" prop="reCount" width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="供应商" label="供应商"
prop="supName" prop="supName" width="180"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产企业" label="生产企业" width="180"
prop="manufacturer" prop="manufacturer"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="注册/备案号" label="注册/备案号" width="180"
prop="certCode" prop="certCode"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
@ -347,7 +395,7 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span> <span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span>
<el-form :inline="true" :model="resultQuery" class="query-form" size="mini"> <el-form :inline="true" :model="resultQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="UDI码:">
<el-input <el-input
v-model="resultQuery.code" v-model="resultQuery.code"
placeholder="请输入UDI码" placeholder="请输入UDI码"
@ -379,6 +427,7 @@
<el-table-column <el-table-column
label="UDI码" label="UDI码"
prop="code" prop="code"
width="220"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
@ -393,23 +442,23 @@
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="批次号" label="批次号"
prop="batchNo" prop="batchNo" width="120"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="序列号" label="序列号"
prop="serialNo" prop="serialNo" width="120"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="供应商" label="供应商"
prop="supName" prop="supName" width="180"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫码数量" label="扫码数量"
prop="count" prop="count" width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="实际数量" label="实际数量"
prop="reCount" prop="reCount" width="100"
></el-table-column> ></el-table-column>
</el-table> </el-table>
@ -471,6 +520,10 @@ import AcceptOrder from "@/views/inout/DialogReviewOrder";
import NewAcceptOrder from "@/views/inout/DialogNewReviewOrder"; import NewAcceptOrder from "@/views/inout/DialogNewReviewOrder";
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint" import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {previewImage} from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
const formJson = { const formJson = {
site_id: "", site_id: "",
@ -483,6 +536,9 @@ export default {
name: "IoCheckSuccessOrder", name: "IoCheckSuccessOrder",
data() { data() {
return { return {
imgList: [],
imgViewerVisible: false,
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true, showSearch: true,
filterQuery: { filterQuery: {
id: "", id: "",
@ -508,6 +564,11 @@ export default {
8: "审核拒绝", 8: "审核拒绝",
9: "正在处理", 10: "待审核", 9: "正在处理", 10: "待审核",
}, },
reviceStatus: {
1: "未验收",
5: "已验收",
},
storageList: [], storageList: [],
invList: [], invList: [],
list: [], list: [],
@ -540,10 +601,13 @@ export default {
formData: formJson, formData: formJson,
deleteLoading: false, deleteLoading: false,
busTypes: [], busTypes: [],
corpLoading: false,
fromOptions: [],
currentRow: { currentRow: {
billNo: "" billNo: ""
}, },
actDateRange: [], actDateRange: [],
auditDateRange: [],
pickerOptions: { pickerOptions: {
shortcuts: [ shortcuts: [
{ {
@ -603,10 +667,9 @@ export default {
resultDetailList: [], resultDetailList: [],
acceptQuery: null, acceptQuery: null,
acceptOrderVisible: false, acceptOrderVisible: false,
newAcceptOrderVisible: false,
}; };
}, },
components: {AcceptOrder, NewAcceptOrder}, components: {AcceptOrder, ElImageViewer},
methods: { methods: {
onReset() { onReset() {
this.$router.push({ this.$router.push({
@ -624,6 +687,7 @@ export default {
endTime: null, endTime: null,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
}; };
this.actDateRange = [];
this.getList(); this.getList();
}, },
onSubmit() { onSubmit() {
@ -635,14 +699,50 @@ export default {
this.filterQuery.startTime = null; this.filterQuery.startTime = null;
this.filterQuery.endTime = null; this.filterQuery.endTime = null;
} }
if (this.auditDateRange !== null) {
this.filterQuery.startAduditTime = this.auditDateRange[0];
this.filterQuery.endAduditTime = this.auditDateRange[1];
} else {
this.filterQuery.startAduditTime = null;
this.filterQuery.endAduditTime = null;
}
this.filterQuery.page = 1; this.filterQuery.page = 1;
this.getList(); this.getList();
}, },
hideSearch() { hideSearch() {
this.showSearch = !this.showSearch; this.showSearch = !this.showSearch;
}, },
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;
}
console.log(this.imgList)
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);
},
invChange() { invChange() {
this.filterQuery.action = null; this.filterQuery.action = null;
this.busTypes = [];
this.getBusType(); this.getBusType();
}, },
printOrder(row) { printOrder(row) {
@ -692,8 +792,31 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
findMethod(key) {
this.corpLoading = true;
this.fromOptions = [];
let params = {
key: key,
corpType: 2,
page: 1,
limit: 20
};
getBasicUnitMaintains(params).then((res) => {
this.corpLoading = false;
this.fromOptions = res.data.list || [];
}).catch(() => {
this.corpLoading = false;
})
},
corpChange(value) {
if (!isBlank(value)) {
this.findMethod(value);
}
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.currentRow = val; this.currentRow.billNo = val.billNo;
this.getOrderDetails(); this.getOrderDetails();
}, },
// //
@ -720,7 +843,6 @@ export default {
}, },
// //
getList() { getList() {
this.loading = true; this.loading = true;
this.currentRow = {billNo: ""}; this.currentRow = {billNo: ""};
this.clearDetailList(); this.clearDetailList();
@ -926,11 +1048,6 @@ export default {
this.acceptOrderVisible = true; this.acceptOrderVisible = true;
}, },
newReview() {
this.newAcceptOrderVisible = true;
},
parentByFn: function (childValue) { parentByFn: function (childValue) {
this.getList(); this.getList();
}, },

@ -70,7 +70,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="query-form-item" label="创建时间:"> <el-form-item class="query-form-item" label="创建时间:">
<el-date-picker <el-date-picker
:picker-options="pickerOptions" :picker-options="pickerOptions"
@ -173,10 +176,10 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-业务详情</span> <span slot="label">单据 {{ currentRow.billNo }}-业务详情</span>
<el-form :inline="true" :model="bizQuery" class="query-form" size="mini"> <el-form :inline="true" :model="bizQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input <el-input
v-model="bizQuery.productName" v-model="bizQuery.productName"
placeholder="请输入产品名称" placeholder="请输入物资名称"
clearable clearable
> >
</el-input> </el-input>
@ -259,10 +262,10 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码详情</span> <span slot="label">单据 {{ currentRow.billNo }}-扫码详情</span>
<el-form :inline="true" :model="codeQuery" class="query-form" size="mini"> <el-form :inline="true" :model="codeQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input <el-input
v-model="codeQuery.productName" v-model="codeQuery.productName"
placeholder="请输入产品名称" placeholder="请输入物资名称"
clearable clearable
> >
</el-input> </el-input>
@ -346,7 +349,7 @@
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span> <span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span>
<el-form :inline="true" :model="resultQuery" class="query-form" size="mini"> <el-form :inline="true" :model="resultQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="UDI码:">
<el-input <el-input
v-model="resultQuery.code" v-model="resultQuery.code"
placeholder="请输入UDI码" placeholder="请输入UDI码"
@ -608,6 +611,7 @@ export default {
endTime: null, endTime: null,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
}; };
this.actDateRange = [];
this.getList(); this.getList();
}, },
onSubmit() { onSubmit() {

@ -3,14 +3,14 @@
<el-card class="el-card"> <el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch"> <el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="8">
<el-form-item class="query-form-item" label="单号:"> <el-form-item class="query-form-item" label="单号:">
<el-input v-model="filterQuery.billNo" placeholder="请输入单号" <el-input v-model="filterQuery.billNo" placeholder="请输入单号"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> 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 class="query-form-item" label="出入库类型:"> <el-form-item class="query-form-item" label="出入库类型:">
<el-select v-model="filterQuery.mainAction" placeholder="请选择出入库类型" style="width: 90%"> <el-select v-model="filterQuery.mainAction" placeholder="请选择出入库类型" style="width: 90%">
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
@ -19,7 +19,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item class="query-form-item" label="单据类型:"> <el-form-item class="query-form-item" label="单据类型:">
<el-select v-model="filterQuery.action" placeholder="请选择单据类型" <el-select v-model="filterQuery.action" placeholder="请选择单据类型"
style="width: 90%" style="width: 90%"
@ -34,7 +34,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="所属仓库:"> <el-form-item class="query-form-item" label="所属仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true" <el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true"
style="width: 90%" style="width: 90%"
@ -50,10 +54,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8">
<el-row>
<el-col :span="6">
<el-form-item class="query-form-item" label="创建时间:"> <el-form-item class="query-form-item" label="创建时间:">
<el-date-picker <el-date-picker
:picker-options="pickerOptions" :picker-options="pickerOptions"
@ -89,32 +90,25 @@
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border border
@row-click="handleSelectionChange"> @current-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName"></el-table-column> <el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="订单号" prop="billNo" show-overflow-tooltip></el-table-column> <el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="来源订单号" prop="corpOrderId" show-overflow-tooltip></el-table-column> <el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="来源" prop="fromType">
<template slot-scope="scope">
<span>{{ fromTypeMap[scope.row.fromType] }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column label="往来单位" prop="fromName" width="220"> <el-table-column label="往来单位" prop="fromName" width="220">
</el-table-column> </el-table-column>
<el-table-column label="当前部门" prop="deptName" width="120"> <el-table-column label="当前部门" prop="deptName" width="120">
</el-table-column> </el-table-column>
<el-table-column label="当前仓库" prop="invName" width="120"> <el-table-column label= prop="invName" width="120">
</el-table-column> </el-table-column>
<el-table-column label="所属科室" prop="deptName" width="120" v-if="enableDept"> <el-table-column label="来源单据号" prop="corpOrderId" show-overflow-tooltip width="140"></el-table-column>
</el-table-column> <el-table-column label="来源" prop="fromType">
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<i class="el-icon-time"></i> <span>{{ fromTypeMap[scope.row.fromType] }}</span>
<span>{{ scope.row.createTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="校验状态" prop="status" width="100"> <el-table-column label="核对状态" prop="status" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="statusFilterType(scope.row.status)">{{ <el-tag :type="statusFilterType(scope.row.status)">{{
checkStatus[scope.row.status] checkStatus[scope.row.status]
@ -122,9 +116,8 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="160" fixed="right"> <el-table-column label="操作" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
size="small" size="small"
@ -135,17 +128,17 @@
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click.native.stop="rollback(scope.row)" v-if="scope.row.status == 5"
>撤回 @click.native.stop="reviewOrder(scope.row)"
>核对
</el-button </el-button
> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click.native.stop="reviewOrder(scope.row)" v-if="scope.row.status == 5"
>审核 @click.native.stop="rollback(scope.row)"
>撤回
</el-button </el-button
> >
@ -156,7 +149,6 @@
>删除 >删除
</el-button </el-button
> >
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -169,19 +161,20 @@
></pagination> ></pagination>
</el-card> </el-card>
<el-tabs type="border-card" style="margin: 15px"> <el-tabs type="border-card" style="margin: 15px" >
<!--单据业务详情--> <!--单据业务详情-->
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-业务详情</span> <span slot="label">单据 {{ currentRow.billNo }}-单据详情</span>
<el-form :inline="true" :model="bizQuery" class="query-form" size="mini"> <el-form :inline="true" :model="bizQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input <el-input
v-model="bizQuery.productName" v-model="bizQuery.productName"
placeholder="请输入产品名称" placeholder="请输入物资名称"
clearable clearable
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button-group> <el-button-group>
<el-button <el-button
@ -197,154 +190,103 @@
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border class="table-fixed"
row-key="id" row-key="id"
> >
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="物资名称" label="物资名称"
prop="coName" prop="coName"
width="150"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="规格型号" label="规格型号"
width="150"
prop="spec" prop="spec"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="批次号" label="批次号"
width="100"
prop="batchNo" prop="batchNo"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产日期" label="送货数量"
prop="productDate"
></el-table-column>
<el-table-column
label="失效日期"
prop="expireDate"
></el-table-column>
<el-table-column
label="单据数量"
prop="count" prop="count"
width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫码数量" label="扫码数量"
prop="scanCount" prop="scanCount"
width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="价格" label="价格"
prop="price" prop="price"
></el-table-column> width="100"
<el-table-column
label="生产企业"
prop="manufacturer"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="注册/备案号"
prop="certCode"
show-overflow-tooltip
></el-table-column>
</el-table>
<pagination
v-show="bizTotal>0"
:total="bizTotal"
:page.sync="bizQuery.page"
:limit.sync="bizQuery.limit"
@pagination="getBizDetailList"
/>
</el-tab-pane>
<!--单据扫码详情-->
<el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码详情</span>
<el-form :inline="true" :model="codeQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:">
<el-input
v-model="codeQuery.productName"
placeholder="请输入产品名称"
clearable
>
</el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onCodeReset"
>重置
</el-button>
<el-button type="primary" @click="onCodeSubmit"
icon="el-icon-search"
>查询
</el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="codeDetailLoading" :data="codeDetailList" style="width: 100%" border
row-key="id"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="物资名称"
prop="coName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="spec"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="生产日期" label="生产日期"
prop="productDate" prop="productDate"
width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="失效日期" label="失效日期"
prop="expireDate" prop="expireDate"
width="100"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column width="100" label="计量单位" prop="measname">
label="单据数量" </el-table-column>
prop="orderCount"
></el-table-column>
<el-table-column
label="扫码数量"
prop="reCount"
></el-table-column>
<el-table-column
label="供应商"
prop="supName"
show-overflow-tooltip
></el-table-column>
<el-table-column <el-table-column
label="生产企业" label="生产企业"
prop="manufacturer" prop="manufacturer"
width="160"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="注册/备案号" label="注册/备案号"
width="160"
prop="certCode" prop="certCode"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column
label="检验报告"
width="160"
prop="checkFileName"
show-overflow-tooltip
>
<template slot-scope="scope">
<div style="color: #1890ff;" @click="showImgViewer(scope.row)">{{ scope.row.checkFileName }}</div>
</template>
</el-table-column>
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="upload(scope.row)"
>检验报告
</el-button
>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="codeTotal>0" v-show="bizTotal>0"
:total="codeTotal" :total="bizTotal"
:page.sync="codeQuery.page" :page.sync="bizQuery.page"
:limit.sync="codeQuery.limit" :limit.sync="bizQuery.limit"
@pagination="getCodeDetailList" @pagination="getBizDetailList"
/> />
</el-tab-pane> </el-tab-pane>
<!--单据扫码明细--> <!--单据扫码明细-->
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span> <span slot="label">单据 {{ currentRow.billNo }}-扫码明细</span>
<el-form :inline="true" :model="resultQuery" class="query-form" size="mini"> <el-form :inline="true" :model="resultQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="产品名称:"> <el-form-item class="query-form-item" label="UDI码:">
<el-input <el-input
v-model="resultQuery.code" v-model="resultQuery.code"
placeholder="请输入UDI码" placeholder="请输入UDI码"
@ -391,6 +333,7 @@
<el-table-column <el-table-column
label="批次号" label="批次号"
prop="batchNo" prop="batchNo"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="序列号" label="序列号"
@ -399,17 +342,17 @@
<el-table-column <el-table-column
label="供应商" label="供应商"
prop="supName" prop="supName"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫码数量" label="扫码数量"
prop="count" prop="reCount"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="实际数量" label="实际数量"
prop="reCount" prop="reCount"
></el-table-column> ></el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="resultTotal>0" v-show="resultTotal>0"
:total="resultTotal" :total="resultTotal"
@ -419,9 +362,26 @@
/> />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer" :url-list="imgList"/>
<el-dialog
title="编辑"
:visible.sync="Upinvoice"
:before-close="freshen"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="Upinvoice"
>
<DialogCheck
:closeDialog="closeCheckDialog"
:inputQuery="currentManufacturer"
></DialogCheck>
</el-dialog>
<el-dialog <el-dialog
title="单据验收" title="送货单核对"
:visible.sync="acceptOrderVisible" :visible.sync="acceptOrderVisible"
width="80%" width="80%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -434,24 +394,28 @@
v-on:childByValue="parentByFn" v-on:childByValue="parentByFn"
></accept-order> ></accept-order>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
deleteByOrderId, deleteInvByBillNo,
getOrderList, rollUnReceivebackOrder getOrderList, rollbackOrder, rollUnReceivebackOrder
} from "../../api/inout/order"; } from "../../api/inout/order";
import {getLocalJoinByUser} from "@/api/basic/busType"; import {getLocalJoinByUser} from "@/api/basic/busType";
import {getInvListByUser} from "@/api/system/invWarehouse"; import {getInvListByUser} from "@/api/system/invWarehouse";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import {selectSysParamByKey} from "@/api/param/systemParamConfig"; import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import {getBizDetailList} from "@/api/inout/orderDetailBiz"; import {getResultDetailList} from "@/api/inout/orderDetailResult";
import {getCodeDetailList} from "@/api/inout/orderDetailCode"; import {getCodeDetailList} from "@/api/inout/orderDetailCode";
import {getCodeList} from "@/api/inout/code"; import {getCodeList} from "@/api/inout/code";
import AcceptOrder from "@/views/inout/DialogReviewOrder";
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint" import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
import AcceptOrder from "@/views/inout/DialogThrReviewOrder";
import {getDeptListByUser} from "@/api/auth/authDept";
import DialogCheck from "@/views/inout/DialogCheck";
import { getBizDetailList } from '@/api/inout/orderDetailBiz'
import { previewImage } from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
const formJson = { const formJson = {
@ -462,23 +426,28 @@ const formJson = {
}; };
export default { export default {
name: "IoCheckSuccessOrder", name: "IoSupSearchOrder",
data() { data() {
return { return {
BASE_URL: process.env.VUE_APP_BASE_API,
imgList:[],
imgViewerVisible:false,
showSearch: true, showSearch: true,
Upinvoice:false,
currentManufacturer:{},
filterQuery: { filterQuery: {
id: "", id: "",
billNo: null, billNo: null,
statusType: "checkSuccess",
mainAction: null, mainAction: null,
action: null, action: null,
statusType: "checkSuccess",
page: 1, page: 1,
limit: 10, limit: 10,
startTime: null, startTime: null,
endTime: null, endTime: null,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
}, },
customerId: this.$store.getters.customerId, reviewType: 2,
checkStatus: { checkStatus: {
1: "草稿", 1: "草稿",
2: "等待处理", 2: "等待处理",
@ -488,10 +457,11 @@ export default {
6: "校验异常", 6: "校验异常",
7: "已审核", 7: "已审核",
8: "审核拒绝", 8: "审核拒绝",
9: "正在处理", 10: "待审核", 9: "正在处理",
10: "待审核",
}, },
storageList: [],
invList: [], invList: [],
deptList: [],
list: [], list: [],
total: 0, total: 0,
loading: false, loading: false,
@ -587,7 +557,7 @@ export default {
acceptOrderVisible: false, acceptOrderVisible: false,
}; };
}, },
components: {AcceptOrder}, components: {AcceptOrder,DialogCheck,ElImageViewer},
methods: { methods: {
onReset() { onReset() {
this.$router.push({ this.$router.push({
@ -596,15 +566,16 @@ export default {
this.filterQuery = { this.filterQuery = {
id: "", id: "",
billNo: null, billNo: null,
statusType: "checkSuccess",
mainAction: null, mainAction: null,
action: null, action: null,
statusType: "checkSuccess",
page: 1, page: 1,
limit: 10, limit: 10,
startTime: null, startTime: null,
endTime: null, endTime: null,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
}; };
this.actDateRange = [];
this.getList(); this.getList();
}, },
onSubmit() { onSubmit() {
@ -622,45 +593,6 @@ export default {
hideSearch() { hideSearch() {
this.showSearch = !this.showSearch; this.showSearch = !this.showSearch;
}, },
invChange() {
this.filterQuery.action = null;
this.getBusType();
},
printOrder(row) {
let tQuery = {
action: row.action,
moduleId: 2,
}
this.loading = true;
inspectionOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
templateId: response.data,
orderIdFk: row.billNo,
action: row.action,
moduleId: 2,
}
orderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl
const binaryData = [];
binaryData.push(response);
//blob
let url = window.URL.createObjectURL(
new Blob(binaryData, {type: "application/pdf"})
);
this.loading = false;
window.open(url);//pdf
}).catch(() => {
this.loading = false;
});
} else {
this.loading = false;
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
});
},
getBusType() { getBusType() {
let query = { let query = {
code: this.filterQuery.invCode, code: this.filterQuery.invCode,
@ -673,8 +605,42 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
showImgViewer(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
this.imgList=[];
previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
}
console.log(this.imgList)
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);
},
upload(row){
this.currentManufacturer = row;
this.Upinvoice = true;
},
closeCheckDialog(){
this.Upinvoice = false;
this.getOrderDetails();
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.currentRow = val; this.currentRow.billNo=val.billNo;
this.getOrderDetails(); this.getOrderDetails();
}, },
// //
@ -701,7 +667,6 @@ export default {
}, },
// //
getList() { getList() {
this.loading = true; this.loading = true;
this.currentRow = {billNo: ""}; this.currentRow = {billNo: ""};
this.clearDetailList(); this.clearDetailList();
@ -725,8 +690,9 @@ export default {
deleteOrders(data) { deleteOrders(data) {
this.loading = true; this.loading = true;
this.deleteData.billNo = data.billNo; this.deleteData.billNo = data.billNo;
deleteByOrderId(this.deleteData) deleteInvByBillNo(this.deleteData)
.then((response) => { .then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
this.getList(); this.getList();
this.$message({ this.$message({
@ -754,6 +720,10 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
invChange() {
this.filterQuery.action = null;
this.getBusType();
},
getInvList() { getInvList() {
getInvListByUser() getInvListByUser()
.then((response) => { .then((response) => {
@ -762,6 +732,15 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
getDeptList() {
getDeptListByUser().then((res) => {
this.deptList = res.data || [];
});
},
checkOrder(orderId) {
},
onBizReset() { onBizReset() {
this.bizQuery = { this.bizQuery = {
productName: null, productName: null,
@ -798,6 +777,9 @@ export default {
this.bizDetailList = []; this.bizDetailList = [];
this.bizTotal = 0; this.bizTotal = 0;
}) })
},
editBizDialog(row) {
}, },
onCodeReset() { onCodeReset() {
this.codeQuery = { this.codeQuery = {
@ -836,6 +818,49 @@ export default {
this.codeTotal = 0; this.codeTotal = 0;
}) })
}, },
editCodeDialog(row) {
},
printOrder(row) {
let tQuery = {
action: row.action,
status: row.status,
}
this.loading = true;
inspectionOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
action: row.action,
status: row.status,
templateId: response.data,
orderIdFk: row.billNo,
moduleId: 1,
}
orderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl
const binaryData = [];
binaryData.push(response);
//blob
let url = window.URL.createObjectURL(
new Blob(binaryData, {type: "application/pdf"})
);
this.loading = false;
window.open(url);//pdf
}).catch(() => {
this.loading = false;
});
} else {
this.loading = false;
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
});
},
freshen(){
this.Upinvoice = false;
this.getOrderDetails();
},
onResultReset() { onResultReset() {
this.resultQuery = { this.resultQuery = {
orderId: null, orderId: null,
@ -874,7 +899,6 @@ export default {
this.resultTotal = 0; this.resultTotal = 0;
}); });
}, },
// //
rollback(row) { rollback(row) {
this.$confirm('此操作将撤回单据至待校验, 是否继续?', '提示', { this.$confirm('此操作将撤回单据至待校验, 是否继续?', '提示', {
@ -896,17 +920,18 @@ export default {
}); });
}, },
//
closeAcceptDialog() {
this.acceptOrderVisible = false;
},
// //
reviewOrder(row) { reviewOrder(row) {
this.acceptQuery = row; this.acceptQuery = row;
this.acceptOrderVisible = true; this.acceptOrderVisible = true;
}, },
//
closeAcceptDialog() {
this.acceptOrderVisible = false;
},
parentByFn: function (childValue) { parentByFn: function (childValue) {
this.getList(); this.getList();
}, },
@ -920,17 +945,17 @@ export default {
}; };
return statusMap[status]; return statusMap[status];
}, },
} },
, filters: {},
mounted() { mounted() {
document.body.ondrop = function (event) { document.body.ondrop = function (event) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
}; };
} },
,
created() { created() {
this.getInvList(); this.getInvList();
this.getDeptList();
this.getBusType(); this.getBusType();
selectSysParamByKey({paramKey: "muti_inv_mode"}).then((res) => { selectSysParamByKey({paramKey: "muti_inv_mode"}).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -938,14 +963,12 @@ export default {
this.enableDept = true; this.enableDept = true;
} }
} }
}); })
this.getList(); this.getList();
} },
, };
}
;
</script> </script>
<style type="text/scss" lang="scss"> <style lang="scss" scoped>
</style>
</style>

@ -487,6 +487,7 @@ export default {
this.loading = false; this.loading = false;
if (response.code === 20000) { if (response.code === 20000) {
this.$message.success("提交成功"); this.$message.success("提交成功");
this.getList();
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
} }

@ -235,7 +235,7 @@ export default {
6: "校验异常", 6: "校验异常",
7: "已审核", 7: "已审核",
8: "审核拒绝", 8: "审核拒绝",
9: "正在处理", 10: "待审核", 9: "正在处理",10: "待审核",
}, },
curIndex: "", curIndex: "",
idQuery: {}, idQuery: {},

@ -146,10 +146,8 @@
<span>{{ scope.row.createTime }}</span> <span>{{ scope.row.createTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="往来单位" prop="fromName" width="220">
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
<el-table-column label="所属部门" prop="deptName" width="120" v-if="enableDept"> <el-table-column label="所属部门" prop="deptName" width="120" v-if="enableDept">
</el-table-column> </el-table-column>
<el-table-column label="所属仓库" prop="invName" width="120"> <el-table-column label="所属仓库" prop="invName" width="120">

@ -172,7 +172,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog <el-dialog
title="新增单据" title="编辑单据"
:visible.sync="addOrderVisible" :visible.sync="addOrderVisible"
width="85%" width="85%"
append-to-body append-to-body
@ -214,30 +214,30 @@
<!--单据业务详情--> <!--单据业务详情-->
<el-tab-pane> <el-tab-pane>
<span slot="label">单据 {{ currentRow == null ? '' : currentRow.billNo }}-业务扫码校验结果</span> <span slot="label">单据 {{ currentRow == null ? '' : currentRow.billNo }}-业务扫码校验结果</span>
<el-form :inline="true" :model="bizQuery" class="query-form" size="mini"> <!--<el-form :inline="true" :model="bizQuery" class="query-form" size="mini">-->
<el-form-item class="query-form-item" label="产品名称:"> <!-- <el-form-item class="query-form-item" label="物资名称:">-->
<el-input <!-- <el-input-->
v-model="bizQuery.productName" <!-- v-model="bizQuery.productName"-->
placeholder="请输入产品名称" <!-- placeholder="请输入物资名称"-->
clearable <!-- clearable-->
> <!-- >-->
</el-input> <!-- </el-input>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <!-- <el-form-item>-->
<el-button-group> <!-- <el-button-group>-->
<el-button <!-- <el-button-->
type="primary" <!-- type="primary"-->
icon="el-icon-refresh" <!-- icon="el-icon-refresh"-->
@click="onBizReset" <!-- @click="onBizReset"-->
>重置 <!-- >重置-->
</el-button> <!-- </el-button>-->
<el-button type="primary" @click="onBizSubmit" <!-- <el-button type="primary" @click="onBizSubmit"-->
icon="el-icon-search" <!-- icon="el-icon-search"-->
>查询 <!-- >查询-->
</el-button> <!-- </el-button>-->
</el-button-group> <!-- </el-button-group>-->
</el-form-item> <!-- </el-form-item>-->
</el-form> <!--</el-form>-->
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border <el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border
:row-style="rowStyle" :row-style="rowStyle"
row-key="id" row-key="id"
@ -514,6 +514,7 @@ export default {
let query = { let query = {
code: this.filterQuery.invCode, code: this.filterQuery.invCode,
enabled: true, enabled: true,
vueType: "supDelivery",
}; };
getLocalJoinByUser(query) getLocalJoinByUser(query)
.then((response) => { .then((response) => {
@ -564,7 +565,6 @@ export default {
this.deleteData.billNo = data; this.deleteData.billNo = data;
deleteByOrderId(this.deleteData) deleteByOrderId(this.deleteData)
.then((response) => { .then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
this.getList(); this.getList();
this.$message({ this.$message({

@ -73,6 +73,33 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" >
<el-form-item class="query-form-item" label="供应商名称:">
<el-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择供应商名称"
:remote-method="findMethod"
size="mini"
:loading="corpLoading"
@change="corpChange"
style="width: 90%"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.erpId"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="top-right-btn"> <div class="top-right-btn">
@ -115,7 +142,7 @@
<el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip <el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip
width="120"></el-table-column> width="120"></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="160" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="160" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="120" fixed="right"> <el-table-column label="操作" width="80" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@ -124,13 +151,13 @@
>详情 >详情
</el-button </el-button
> >
<el-button <!-- <el-button-->
type="text" <!-- type="text"-->
size="small" <!-- size="small"-->
@click.native.stop="deleteDialog(scope.row.id)" <!-- @click.native.stop="deleteDialog(scope.row.id)"-->
>删除 <!-- >删除-->
</el-button <!-- </el-button-->
> <!-- >-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -180,7 +207,7 @@ export default {
supId: null, supId: null,
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode, invCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
}, },
@ -224,7 +251,7 @@ export default {
supId: null, supId: null,
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode, invCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
}; };
@ -253,7 +280,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.filterQuery.supId = this.$store.getters.customerId; // this.filterQuery.supId = this.$store.getters.customerId;
getInvPreProduct(this.filterQuery).then((res) => { getInvPreProduct(this.filterQuery).then((res) => {
this.loading = false; this.loading = false;
if (res.code === 20000) { if (res.code === 20000) {
@ -273,7 +300,7 @@ export default {
}, },
getInvList() { getInvList() {
let query = { let query = {
advanceType: 3, advanceType: 3, //123
}; };
getInvListByUser(query) getInvListByUser(query)
.then((response) => { .then((response) => {

@ -16,28 +16,28 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="DI/物资编码:"> <el-form-item class="query-form-item" label="DI/物资编码:">
<el-input v-model="filterQuery.nameCode" placeholder="DI/物资编码" <el-input v-model="filterQuery.nameCode" placeholder="请输入DI/物资编码"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="物资名称:"> <el-form-item class="query-form-item" label="物资名称:">
<el-input v-model="filterQuery.cpmctymc" placeholder="物资名称" <el-input v-model="filterQuery.cpmctymc" placeholder="请输入物资名称"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="规格型号:"> <el-form-item class="query-form-item" label="规格型号:">
<el-input v-model="filterQuery.ggxh" placeholder="规格型号" <el-input v-model="filterQuery.ggxh" placeholder="请输入规格型号"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="批次号:"> <el-form-item class="query-form-item" label="批次号:">
<el-input v-model="filterQuery.batchNo" placeholder="批次号" <el-input v-model="filterQuery.batchNo" placeholder="请输入批次号"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
@ -46,14 +46,14 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="注册/备案号:"> <el-form-item class="query-form-item" label="注册/备案号:">
<el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="注册/备案号" <el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="请输入注册/备案号"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="生产企业:"> <el-form-item class="query-form-item" label="生产企业:">
<el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产企业" <el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="请输入生产企业"
style="width: 90%" style="width: 90%"
clearable="true"></el-input> clearable="true"></el-input>
</el-form-item> </el-form-item>
@ -81,7 +81,7 @@
remote remote
clearable="true" clearable="true"
reserve-keyword reserve-keyword
placeholder="供应商名称" placeholder="请选择供应商名称"
:remote-method="findMethod" :remote-method="findMethod"
size="mini" size="mini"
:loading="corpLoading" :loading="corpLoading"
@ -141,7 +141,7 @@
<el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip <el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip
width="120"></el-table-column> width="120"></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="160" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="160" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="110" fixed="right"> <el-table-column label="操作" width="180" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@ -157,13 +157,6 @@
>详情 >详情
</el-button </el-button
> >
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -204,6 +197,7 @@
></addInvRemindSetDialog> ></addInvRemindSetDialog>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -215,7 +209,6 @@ import {isBlank} from "@/utils/strUtil";
import invProductsDetail from "@/views/inventory/InvProductsDetail.vue"; import invProductsDetail from "@/views/inventory/InvProductsDetail.vue";
import addInvRemindSetDialog from "@/views/inventory/addInvRemindSetDialog.vue"; import addInvRemindSetDialog from "@/views/inventory/addInvRemindSetDialog.vue";
export default { export default {
name: "InvProducts", name: "InvProducts",
data() { data() {
@ -306,7 +299,6 @@ export default {
}, },
getList() { getList() {
this.loading = true; this.loading = true;
getProduct(this.filterQuery).then((res) => { getProduct(this.filterQuery).then((res) => {
this.loading = false; this.loading = false;
if (res.code === 20000) { if (res.code === 20000) {
@ -350,7 +342,7 @@ export default {
this.fromOptions = res.data.list || []; this.fromOptions = res.data.list || [];
}).catch(() => { }).catch(() => {
this.corpLoading = false; this.corpLoading = false;
}) });
}, },
corpChange(value) { corpChange(value) {
if (!isBlank(value)) { if (!isBlank(value)) {

@ -73,6 +73,34 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:">
<el-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择供应商名称"
:remote-method="findMethod"
size="mini"
:loading="corpLoading"
@change="corpChange"
style="width: 90%"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.erpId"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="top-right-btn"> <div class="top-right-btn">
@ -158,7 +186,7 @@ import {getInvListByUser} from "@/api/system/invWarehouse";
import {getInvPreInProduct, deleteInvPreInProduct} from "@/api/inventory/invPreInSearch"; import {getInvPreInProduct, deleteInvPreInProduct} from "@/api/inventory/invPreInSearch";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import invPreProductsDetail from "@/views/inventory/InvPreProductsDetail.vue"; import invPreProductsDetail from "@/views/inventory/InvPreInProductsDetail.vue";
export default { export default {
name: "InvPreProducts", name: "InvPreProducts",
@ -173,7 +201,7 @@ export default {
supId: null, supId: null,
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode, invCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
}, },
@ -217,9 +245,9 @@ export default {
supId: null, supId: null,
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode,
page: 1, page: 1,
limit: 10, limit: 10,
invCode: null,
}; };
this.getList(); this.getList();
}, },
@ -246,7 +274,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.filterQuery.supId = this.$store.getters.customerId; // this.filterQuery.supId = this.$store.getters.customerId;
getInvPreInProduct(this.filterQuery).then((res) => { getInvPreInProduct(this.filterQuery).then((res) => {
this.loading = false; this.loading = false;
if (res.code === 20000) { if (res.code === 20000) {

@ -35,7 +35,7 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://192.168.1.14:9991/`, target: `http://127.0.0.1:9991/`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "", ["^" + process.env.VUE_APP_BASE_API]: "",

Loading…
Cancel
Save