<template>
|
<div class="app-container">
|
<div style="width: 100%;height: 100%;">
|
<div>
|
<el-row class="title">
|
<el-col :span="12" style="text-align: left;">原材料检验下单</el-col>
|
<el-col :span="12" style="text-align: right;">
|
<el-button v-show="tabIndex === 3 || tabIndex === 2" :loading="outLoading" size="small" type="primary" @click="handleOut">导出</el-button>
|
<el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">铜材料下单</el-button>
|
<el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">标签打印</el-button>
|
</el-col>
|
</el-row>
|
</div>
|
<div class="search">
|
<el-form :model="entity" ref="entity" size="small" :inline="true">
|
<el-row>
|
<el-form-item label="批号" prop="menuName">
|
<el-input v-model="entity.updateBatchNo" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-form-item label="委托编号" prop="menuName">
|
<el-input v-model="entity.entrustCode" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-form-item label="零件号" prop="menuName">
|
<el-input v-model="entity.partNo" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-form-item label="零件描述" prop="menuName">
|
<el-input v-model="entity.partDesc" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 4" :icon="!more?'el-icon-arrow-down':'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" @click="more=!more">{{!more?'更多':'收起'}}</el-button>
|
<el-button icon="el-icon-search" size="small" type="primary" @click="refreshTable()">查 询</el-button>
|
<el-button icon="el-icon-refresh" size="small" @click="refresh()">重 置</el-button>
|
</el-row>
|
<el-row>
|
<el-form-item label="供应商名称" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
|
<el-input v-model="entity.supplierName" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-form-item label="样品型号" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
|
<el-input v-model="entity.sampleModel" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable">
|
</el-input>
|
</el-form-item>
|
<el-form-item label="检验状态" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
|
<el-select v-model="entity.inspectStatus" clearable
|
size="small" style="width: 100%;" @change="refreshTable()">
|
<el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="下发时间" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
|
<el-date-picker
|
v-model="entity.date"
|
end-placeholder="结束日期"
|
format="yyyy-MM-dd"
|
placeholder="选择日期"
|
range-separator="至"
|
size="small"
|
start-placeholder="开始日期"
|
style="width: 100%;"
|
type="daterange"
|
value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-row>
|
</el-form>
|
</div>
|
<div class="table">
|
<ul class="tab">
|
<li v-for="(m,i) in tabList" :key="m.value" :class="{active:m.value===tabIndex}" @click="handleTab(m)">{{m.label}}</li>
|
</ul>
|
<!--待下单-->
|
<!-- <ValueTable v-show="tabIndex === 0" :key="'a'+ upIndex"-->
|
<!-- ref="ValueTable"-->
|
<!-- :componentData="componentData"-->
|
<!-- :style="getStyle()"-->
|
<!-- :tableRowClassName="changeRowClass"-->
|
<!-- :url="$api.materialInspection.getPurchaseOrder" />-->
|
<!--检验中-->
|
<!-- <ValueTable v-show="tabIndex === 1" :key="'b'+ upIndex"-->
|
<!-- ref="ValueTable1"-->
|
<!-- :componentData="componentData1"-->
|
<!-- :style="getStyle()"-->
|
<!-- :tableRowClassName="changeRowClass"-->
|
<!-- :url="$api.materialInspection.getIfsByStateOne" />-->
|
<!-- <!–已检验–>-->
|
<!-- <ValueTable v-show="tabIndex === 2" :key="'c'+ upIndex"-->
|
<!-- ref="ValueTable2"-->
|
<!-- :componentData="componentData2"-->
|
<!-- :style="getStyle()"-->
|
<!-- :tableRowClassName="changeRowClass"-->
|
<!-- :url="$api.materialInspection.getIfsByOver" />-->
|
<!-- <!–全部–>-->
|
<!-- <ValueTable v-if="tabIndex === 3" :key="'d'+ upIndex"-->
|
<!-- ref="ValueTable3"-->
|
<!-- :componentData="componentData3"-->
|
<!-- :style="getStyle()"-->
|
<!-- :url="$api.materialInspection.getIfsByAll" />-->
|
<!-- <!–季度检验–>-->
|
<!-- <ValueTable v-show="tabIndex === 4" :key="'e'+ upIndex"-->
|
<!-- ref="ValueTable4"-->
|
<!-- :componentData="componentData4"-->
|
<!-- :style="getStyle()"-->
|
<!-- :tableRowClassName="changeRowClass"-->
|
<!-- :url="$api.materialInspection.getIfsByQuarter" />-->
|
</div>
|
</div>
|
<!-- <div v-if="active >0 && isCopper == 0" style="width: 100%;height: 100%;">-->
|
<!-- <CustomsInspection v-if="active >0&& isCopper == 0" :active="active"-->
|
<!-- :currentId="currentId"-->
|
<!-- :customsInspection="customsInspection" :orderType="orderType" />-->
|
<!-- </div>-->
|
<!-- <div v-if="active >0 && isCopper == 1" style="width: 100%;height: 100%;">-->
|
<!-- <CopperOrder v-if="active >0 && isCopper == 1" :active="active" :currentId="currentId"></CopperOrder>-->
|
<!-- </div>-->
|
<!-- 确认免检弹框 -->
|
<el-dialog :visible.sync="exemptionVisible" title="确认免检" width="42%">
|
<div style="display: flex">
|
<span style="width: 90px; line-height: 32px">规格型号:</span>
|
<el-input v-model="exemptionInfo.partDetail" clearable placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable"></el-input>
|
</div>
|
<span slot="footer" class="dialog-footer">
|
<el-row>
|
<el-button @click="exemptionVisible = false">取 消</el-button>
|
<el-button :loading="exemptionLoading" type="primary" @click="submitExemption">确 定</el-button>
|
</el-row>
|
</span>
|
</el-dialog>
|
<!-- 撤销报检 -->
|
<el-dialog :visible.sync="declareDialogVisible" title="报检撤销" width="30%">
|
<p style="font-size:16px;color:#333333">批号<span
|
style="color:#34BD66">{{this.insOrderRow.updateBatchNo}}</span>的信息是否<span style="color: #FF4902">撤销报检</span></p>
|
<span slot="footer" class="dialog-footer">
|
<el-row>
|
<el-button @click="declareDialogVisible = false">取 消</el-button>
|
<el-button :loading="upLoad" type="primary" @click="submitDeclare">确 定</el-button>
|
</el-row>
|
</span>
|
</el-dialog>
|
<!-- 撤销下单 -->
|
<el-dialog :visible.sync="quashDialogVisible" title="下单撤销" width="30%">
|
<el-button size="small" type="primary" @click="cancelQuashOrder('enterOrderId')">撤销进厂检验下单</el-button>
|
<el-button size="small" type="primary" @click="cancelQuashOrder('quarterOrderId')">撤销季度检验下单</el-button>
|
<span slot="footer" class="dialog-footer">
|
<el-row>
|
<el-button @click="quashDialogVisible = false">取 消</el-button>
|
</el-row>
|
</span>
|
</el-dialog>
|
<!-- 修改委托编号弹框 -->
|
<el-dialog :visible.sync="entrustCodeVisible" title="提示" width="30%">
|
<el-input v-model="entrustCodeInfo.entrustCode"></el-input>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="entrustCodeVisible = false">取 消</el-button>
|
<el-button :loading="submitCodeLoading" type="primary" @click="submitCode">确 定</el-button>
|
</span>
|
</el-dialog>
|
<!--标签打印弹框-->
|
<print-dialog v-if="printDialog" ref="printDialog"
|
:printDialog="printDialog"
|
@closePrintDialog="closePrintDialog"></print-dialog>
|
<!--数据查看弹框-->
|
<data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible"
|
:dataDialogVisible="dataDialogVisible"
|
:dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
|
<!--附件查看弹框-->
|
<files-look-visible v-if="filesDialogVisible" ref="filesDialogVisible"
|
:filesDialogVisible="filesDialogVisible"
|
:filesLookInfo="filesLookInfo" @closeFilesLook="closeFilesLook"></files-look-visible>
|
<!--报告下载弹框-->
|
<down-file-dialog v-if="downFileDialogVisible" ref="downFileDialogVisible"
|
:downFileDialogVisible="downFileDialogVisible"
|
:downLoadInfo="downLoadInfo" @closeDownFileDialog="closeDownFileDialog"></down-file-dialog>
|
<!--产业链信息查看-->
|
<ShowInfo v-if="showInfoDialog" ref="showInfoDialog" :showInfoDialog="showInfoDialog"></ShowInfo>
|
<!--检验任务信息查看-->
|
<el-dialog :visible.sync="InspectInfoDialog" title="数据查看" width="400px" @closed="closeInsInfoDialog">
|
<div style="margin-bottom: 8px">
|
<span style="font-size: 16px;">进厂检验原始数据</span>
|
<el-link :disabled="!insInfo.enterOrderId" :underline="false"
|
style="vertical-align: bottom;margin-left: 6px"
|
type="primary" @click="viewInsInfo0">查看</el-link>
|
</div>
|
<div>
|
<span style="font-size: 16px;">季度检验原始数据</span>
|
<el-link :disabled="!insInfo.quarterOrderId" :underline="false"
|
style="vertical-align: bottom;margin-left: 6px"
|
type="primary" @click="viewInsInfo1">查看</el-link>
|
</div>
|
</el-dialog>
|
<!-- <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
|
<!-- :sonLaboratory="'原材料'" :state="state"-->
|
<!-- :typeSource="typeSource"-->
|
<!-- @goback="goback" @refreshView="refreshView"/>-->
|
</div>
|
</template>
|
|
<script>
|
import ValueTable from "@/components/Table/value-table.vue";
|
import CustomsInspection from "./customsInspection.vue";
|
import PrintDialog from "@/components/materialOrder/printDialog.vue";
|
import ShowInfo from "@/components/materialOrder/showInfo.vue";
|
import DataLookVisible from "@/components/materialOrder/dataLookVisible.vue";
|
import FilesLookVisible from "@/components/materialOrder/filesLookVisible.vue";
|
import DownFileDialog from "@/components/materialOrder/downFileDialog.vue";
|
// import CopperOrder from "@/components/materialOrder/copper-order.vue";
|
// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
|
|
export default {
|
name: "b1-material-inspection-order",
|
// import 引入的组件需要注入到对象中才能使用
|
components: {
|
// Inspection,
|
// CopperOrder,
|
DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog, CustomsInspection, ValueTable},
|
data() {
|
// 这里存放数据
|
return {
|
isShowIFS: false,
|
entityEmpty: {},
|
entity: {
|
updateBatchNo: null,
|
entrustCode: null,
|
partDesc: null,
|
supplierName: null,
|
sampleModel: null,
|
partNo: null,
|
inspectStatus: null,
|
date: null,
|
beginDeclareDate: null,
|
endDeclareDate: null,
|
},
|
componentData: { // 表格数据
|
entity: {
|
updateBatchNo: null,
|
partDesc: null,
|
state: 0,
|
isInspect: 1,
|
partNo: null
|
},
|
isIndex: true,
|
showSelect: false,
|
select: false,
|
selectMethod:'selectMethod',
|
do: [
|
{
|
font: '下单',
|
type: 'text',
|
method: 'playOrder',
|
},
|
{
|
font: '免检',
|
type: 'text',
|
method: 'exemption',
|
},
|
{
|
font: '撤销报检',
|
type: 'text',
|
method: 'cancelDeclare',
|
},
|
// {
|
// font: '产业链',
|
// type: 'text',
|
// method: 'openInfoDialog',
|
// }
|
],
|
tagField: {
|
isExpire: {
|
select: [{
|
value: 1,
|
label: '过期物料',
|
type: 'warning'
|
}]
|
},
|
},
|
selectField: {},
|
requiredAdd: [],
|
requiredUp: []
|
},
|
componentData1: {
|
entity: {
|
orderBy: {
|
field: 'entrustCode',
|
order: 'desc'
|
},
|
updateBatchNo: null,
|
entrustCode: null,
|
partDesc: null,
|
state: 1,
|
orderState: 1,
|
partNo: null
|
},
|
isIndex: true,
|
showSelect: true,
|
select: true,
|
selectMethod:'selectMethod',
|
do: [
|
// {
|
// font: '季度检验',
|
// type: 'text',
|
// method: 'playOrderSec',
|
// disabFun: (row, index) => {
|
// return row.isQuarter == 0
|
// }
|
// },
|
{
|
id: 'dataLook',
|
font: '数据查看',
|
type: 'text',
|
method: 'handleDataLook',
|
},
|
{
|
font: '附件查看',
|
type: 'text',
|
method: 'handleFileLook',
|
},
|
{
|
font: '撤销下单',
|
type: 'text',
|
method: 'cancelOrder',
|
},
|
// {
|
// font: '产业链',
|
// type: 'text',
|
// method: 'openInfoDialog',
|
// }
|
],
|
linkEvent: {
|
sampleName: {
|
method: 'selectAllByOne'
|
},
|
entrustCode: {
|
method: 'changeEntrustCode'
|
}
|
},
|
tagField: {
|
inspectStatus: {
|
select: [{
|
value: 0,
|
label: '检验中',
|
type: 'warning'
|
},{
|
value: 1,
|
label: '合格',
|
type: 'success'
|
},{
|
value: 2,
|
label: '不合格',
|
type: 'danger'
|
},{
|
value: 3,
|
label: '未下单',
|
type: 'info'
|
}]
|
},
|
isExpire: {
|
select: [{
|
value: 1,
|
label: '过期物料',
|
type: 'warning'
|
}]
|
},
|
},
|
selectField: {},
|
requiredAdd: [],
|
requiredUp: []
|
},
|
componentData2: {
|
entity: {
|
orderBy: {
|
field: 'entrustCode',
|
order: 'desc'
|
},
|
updateBatchNo: null,
|
entrustCode: null,
|
partDesc: null,
|
sampleModel: null,
|
state: 2,
|
orderState: 4,
|
supplierName: '',
|
partNo: null,
|
beginDeclareDate: null,
|
endDeclareDate: null,
|
},
|
isIndex: true,
|
showSelect: true,
|
select: true,
|
selectMethod:'selectMethod',
|
do: [
|
{
|
font: '季度检验',
|
type: 'text',
|
method: 'playOrderSec',
|
disabFun: (row, index) => {
|
return row.isQuarter == 0
|
}
|
},
|
{
|
id: 'dataLook',
|
font: '数据查看',
|
type: 'text',
|
method: 'handleDataLook',
|
},
|
{
|
font: '附件查看',
|
type: 'text',
|
method: 'handleFileLook',
|
},{
|
id: 'download',
|
font: '报告下载',
|
type: 'text',
|
method: 'download',
|
},
|
// {
|
// font: '产业链',
|
// type: 'text',
|
// method: 'openInfoDialog',
|
// },
|
{
|
id: '',
|
font: '原始记录',
|
type: 'text',
|
method: 'viewInspectInfo',
|
disabFun: (row, index) => {
|
return row.sampleName === null
|
}
|
},
|
{
|
id: '',
|
font: '放行',
|
type: 'text',
|
method: 'goPass',
|
disabFun: (row, index) => {
|
return row.inspectStatus != 2
|
}
|
},
|
{
|
id: '',
|
font: '季度撤销',
|
type: 'text',
|
method: 'repealQuarter',
|
disabFun: (row, index) => {
|
return row.quarterOrderId == null || row.quarterReportId != null
|
}
|
}
|
],
|
linkEvent: {
|
sampleName: {
|
method: 'selectAllByOne'
|
},
|
entrustCode: {
|
method: 'changeEntrustCode'
|
}
|
},
|
tagField: {
|
inspectStatus: {
|
select: [{
|
value: 0,
|
label: '检验中',
|
type: 'warning'
|
},{
|
value: 1,
|
label: '合格',
|
type: 'success'
|
},{
|
value: 2,
|
label: '不合格',
|
type: 'danger'
|
},{
|
value: 3,
|
label: '未下单',
|
type: 'info'
|
},{
|
value: 4,
|
label: '让步放行',
|
type: 'info'
|
}]
|
},
|
isExemption: {
|
select: [{
|
value: 1,
|
label: '免检',
|
type: 'success'
|
}]
|
},
|
isExpire: {
|
select: [{
|
value: 1,
|
label: '过期物料',
|
type: 'warning'
|
}]
|
},
|
},
|
selectField: {},
|
requiredAdd: [],
|
requiredUp: []
|
},
|
componentData4: {
|
entity: {
|
orderBy: {
|
field: 'entrustCode',
|
order: 'desc'
|
},
|
updateBatchNo: null,
|
entrustCode: null,
|
partDesc: null,
|
sampleModel: null,
|
supplierName: '',
|
partNo: null,
|
beginDeclareDate: null,
|
endDeclareDate: null,
|
},
|
isIndex: true,
|
showSelect: true,
|
select: true,
|
selectMethod:'selectMethod',
|
do: [
|
{
|
font: '季度检验',
|
type: 'text',
|
method: 'playOrderSec',
|
disabFun: (row, index) => {
|
return row.isQuarter == 0
|
}
|
},
|
{
|
id: 'dataLook',
|
font: '数据查看',
|
type: 'text',
|
method: 'handleDataLook',
|
},
|
{
|
font: '附件查看',
|
type: 'text',
|
method: 'handleFileLook',
|
},{
|
id: 'download',
|
font: '报告下载',
|
type: 'text',
|
method: 'download',
|
},
|
// {
|
// font: '产业链',
|
// type: 'text',
|
// method: 'openInfoDialog',
|
// },
|
{
|
id: '',
|
font: '原始记录',
|
type: 'text',
|
method: 'viewInspectInfo',
|
disabFun: (row, index) => {
|
return row.sampleName === null
|
}
|
},
|
// {
|
// id: '',
|
// font: '放行',
|
// type: 'text',
|
// method: 'goPass',
|
// disabFun: (row, index) => {
|
// return row.inspectStatus != 2
|
// }
|
// },
|
{
|
id: '',
|
font: '季度撤销',
|
type: 'text',
|
method: 'repealQuarter',
|
disabFun: (row, index) => {
|
return row.quarterOrderId == null || row.quarterReportId != null
|
}
|
}
|
],
|
linkEvent: {
|
sampleName: {
|
method: 'selectAllByOne'
|
},
|
entrustCode: {
|
method: 'changeEntrustCode'
|
}
|
},
|
tagField: {
|
inspectStatus: {
|
select: [{
|
value: 0,
|
label: '检验中',
|
type: 'warning'
|
},{
|
value: 1,
|
label: '合格',
|
type: 'success'
|
},{
|
value: 2,
|
label: '不合格',
|
type: 'danger'
|
},{
|
value: 3,
|
label: '未下单',
|
type: 'info'
|
},{
|
value: 4,
|
label: '让步放行',
|
type: 'info'
|
}]
|
},
|
isExemption: {
|
select: [{
|
value: 1,
|
label: '免检',
|
type: 'success'
|
}]
|
},
|
isExpire: {
|
select: [{
|
value: 1,
|
label: '过期物料',
|
type: 'warning'
|
}]
|
},
|
},
|
selectField: {},
|
requiredAdd: [],
|
requiredUp: []
|
},
|
componentData3: {
|
entity: {
|
orderBy: {
|
field: 'entrustCode',
|
order: 'desc'
|
},
|
updateBatchNo: null,
|
entrustCode: null,
|
partDesc: null,
|
sampleModel: null,
|
isInspect: 1,
|
supplierName: '',
|
partNo: null,
|
beginDeclareDate: null,
|
endDeclareDate: null,
|
},
|
isIndex: true,
|
showSelect: true,
|
select: true,
|
selectMethod:'selectMethod',
|
do: [
|
{
|
id: 'dataLook',
|
font: '数据查看',
|
type: 'text',
|
method: 'handleDataLook',
|
},
|
{
|
font: '附件查看',
|
type: 'text',
|
method: 'handleFileLook',
|
},
|
// {
|
// font: '产业链',
|
// type: 'text',
|
// method: 'openInfoDialog',
|
// }
|
],
|
linkEvent: {
|
sampleName: {
|
method: 'selectAllByOne'
|
},
|
entrustCode: {
|
method: 'changeEntrustCode'
|
}
|
},
|
tagField: {
|
inspectStatus: {
|
select: [{
|
value: 0,
|
label: '检验中',
|
type: 'warning'
|
},{
|
value: 1,
|
label: '合格',
|
type: 'success'
|
},{
|
value: 2,
|
label: '不合格',
|
type: 'danger'
|
},{
|
value: 3,
|
label: '未下单',
|
type: 'info'
|
},{
|
value: 4,
|
label: '让步放行',
|
type: ''
|
}]
|
},
|
isExemption: {
|
select: [{
|
value: 1,
|
label: '免检',
|
type: 'success'
|
}]
|
},
|
isExpire: {
|
select: [{
|
value: 1,
|
label: '过期物料',
|
type: 'warning'
|
}]
|
},
|
},
|
selectField: {},
|
requiredAdd: [],
|
requiredUp: []
|
},
|
tabList: [
|
{
|
label: '待下单',
|
value: 0
|
},
|
{
|
label: '检验中',
|
value: 1
|
},
|
{
|
label: '已检验',
|
value: 2
|
},
|
{
|
label: '季度检验',
|
value: 4
|
},
|
{
|
label: '全部',
|
value: 3
|
}
|
],
|
more:false,
|
upIndex: 0,
|
tabIndex: 0,
|
multipleSelection:[],
|
entityCopy: {},
|
entityCopy1: {},
|
entityCopy2: {},
|
entityCopy3: {},
|
entityCopy4: {},
|
active: 0, //1:下单,2:查看
|
orderType: 0, //0:原材料下单,1:季度检验下单
|
currentId: null,
|
customsInspection: {},
|
btnLoading: false,
|
quashDialogVisible: false, // 撤销下单提醒弹框
|
declareDialogVisible: false, // 撤销报检提醒弹框
|
insOrderRow:{},
|
upLoad: false,
|
filesDialogVisible: false, // 附件查看弹框
|
printDialog: false, // 标签打印弹框
|
showInfoDialog: false, // 产业链信息查看
|
dataDialogVisible: false, // 数据查看弹框
|
dataLookInfo: {}, // 数据查看弹框数据
|
filesLookInfo: {}, // 附件查看弹框数据
|
downFileDialogVisible: false, // 报告下载弹框
|
downLoadInfo: {}, // 报告下载弹框
|
entrustCodeVisible: false, // 修改委托编号弹框
|
entrustCodeInfo: {},
|
submitCodeLoading: false,
|
exemptionVisible: false, // 免检确认弹框
|
exemptionLoading: false,
|
exemptionInfo: {},
|
inspectStatusList: [
|
{label: '检验中', value: 0},
|
{label: '合格', value: 1},
|
{label: '不合格', value: 2},
|
{label: '未下单', value: 3},
|
{label: '让步放行', value: 4},
|
],
|
state: 0,
|
orderId: 0,
|
inspectorList: [],//检验人员列表
|
InspectionKey: 1,
|
typeSource: null,// 0:成品下单,1:原材料下单, 2: 铜单丝下单
|
InspectInfoDialog: false, // 数据查看弹框
|
insInfo: {},
|
isCopper: null,
|
outLoading:false
|
}
|
},
|
mounted () {
|
this.entityEmpty = this.HaveJson(this.entity)
|
this.entityCopy = this.HaveJson(this.componentData.entity)
|
this.entityCopy1 = this.HaveJson(this.componentData1.entity)
|
this.entityCopy2 = this.HaveJson(this.componentData2.entity)
|
this.entityCopy3 = this.HaveJson(this.componentData3.entity)
|
this.getPower()
|
},
|
// 方法集合
|
methods: {
|
// 获取权限
|
getPower(){
|
let power = JSON.parse(sessionStorage.getItem('power'))
|
let getIFS = false
|
for (var i = 0; i < power.length; i++) {
|
if (power[i].menuMethod == 'getIfsByAll') { // 获取IFS的权限
|
getIFS = true
|
}
|
}
|
if (!getIFS) {
|
this.tabList.splice(-1, 1)
|
}
|
},
|
// 查看检验数据
|
viewInspectInfo (row) {
|
//当前检验任务的检验人列表
|
let inspectorList = []
|
if(row.userName){
|
inspectorList = row.userName.split(',')
|
}
|
let user = JSON.parse(localStorage.getItem('user'))
|
if(user){
|
inspectorList.push(user.name)
|
}
|
this.inspectorList = inspectorList
|
this.insInfo = row
|
this.InspectInfoDialog = true
|
},
|
closeInsInfoDialog () {
|
this.InspectInfoDialog = false
|
},
|
// 直接放行
|
goPass (row) {
|
this.$confirm('是否放行当前数据?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
this.$axios.post(this.$api.materialInspection.concessionRelease+'?ifsInventoryId='+row.id).then(res => {
|
if (res.code === 200) {
|
this.$message({
|
type: 'success',
|
message: '放行成功!'
|
});
|
this.refresh()
|
}
|
})
|
}).catch(() => {
|
this.$message({
|
type: 'error',
|
message: '放行失败'
|
});
|
});
|
},
|
// 季度撤销
|
repealQuarter(row) {
|
this.$confirm('是否撤销季度下单?', "警告", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}).then(() => {
|
this.$axios.post(this.$api.rawMaterialOrder.repealQuarterRawOrder + '?quarterOrderId=' + row.quarterOrderId).then(res => {
|
if (res.code === 200) {
|
this.$message.success('撤销成功')
|
this.refreshTable('page')
|
}
|
})
|
}).catch(() => {})
|
},
|
viewInsInfo0 () {
|
this.state = 3;
|
this.typeSource = this.insInfo.typeSource
|
this.orderId = this.insInfo.enterOrderId
|
this.InspectInfoDialog = false
|
},
|
viewInsInfo1 () {
|
this.state = 3;
|
this.typeSource = this.insInfo.typeSource
|
this.orderId = this.insInfo.quarterOrderId
|
this.InspectInfoDialog = false
|
},
|
goback() {
|
this.state = 0
|
this.refreshTable('page')
|
},
|
// 刷新页面
|
refreshView () {
|
this.InspectionKey++
|
},
|
// 铜材料下单
|
copper () {
|
this.$router.push("/materialOrder/customsInspection");
|
},
|
// 打开标签打印弹框
|
openPrint () {
|
if (this.multipleSelection.length > 0) {
|
this.printDialog = true
|
this.$nextTick(() => {
|
let selection = this.multipleSelection
|
this.$refs.printDialog.getLabelPrinting(selection)
|
})
|
} else {
|
this.$message.error('请选择需要打印的数据')
|
}
|
},
|
// 关闭标签打印弹框
|
closePrintDialog () {
|
this.printDialog = false
|
},
|
// 查询回调
|
refreshTable(e) {
|
if (this.tabIndex === 0) {
|
this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData.entity.partDesc = this.entity.partDesc
|
this.componentData.entity.partNo = this.entity.partNo
|
this.$refs['ValueTable'].selectList(e)
|
} else if (this.tabIndex === 1) {
|
this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData1.entity.entrustCode = this.entity.entrustCode
|
this.componentData1.entity.partDesc = this.entity.partDesc
|
this.componentData1.entity.partNo = this.entity.partNo
|
this.$refs['ValueTable1'].selectList(e)
|
} else if (this.tabIndex === 2) {
|
this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData2.entity.entrustCode = this.entity.entrustCode
|
this.componentData2.entity.partDesc = this.entity.partDesc
|
this.componentData2.entity.supplierName = this.entity.supplierName
|
this.componentData2.entity.sampleModel = this.entity.sampleModel
|
this.componentData2.entity.partNo = this.entity.partNo
|
this.componentData2.entity.inspectStatus = this.entity.inspectStatus
|
if (this.entity.date!==null) {
|
this.componentData2.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
|
this.componentData2.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
|
} else {
|
this.componentData2.entity.beginDeclareDate = ''
|
this.componentData2.entity.endDeclareDate = ''
|
}
|
this.$refs['ValueTable2'].selectList(e)
|
} else if (this.tabIndex === 4) {
|
this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData4.entity.entrustCode = this.entity.entrustCode
|
this.componentData4.entity.partDesc = this.entity.partDesc
|
this.componentData4.entity.supplierName = this.entity.supplierName
|
this.componentData4.entity.sampleModel = this.entity.sampleModel
|
this.componentData4.entity.partNo = this.entity.partNo
|
this.componentData4.entity.inspectStatus = this.entity.inspectStatus
|
if (this.entity.date!==null) {
|
this.componentData4.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
|
this.componentData4.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
|
} else {
|
this.componentData4.entity.beginDeclareDate = ''
|
this.componentData4.entity.endDeclareDate = ''
|
}
|
this.$refs['ValueTable4'].selectList(e)
|
} else {
|
this.componentData3.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData3.entity.entrustCode = this.entity.entrustCode
|
this.componentData3.entity.partDesc = this.entity.partDesc
|
this.componentData3.entity.supplierName = this.entity.supplierName
|
this.componentData3.entity.sampleModel = this.entity.sampleModel
|
this.componentData3.entity.partNo = this.entity.partNo
|
this.componentData3.entity.inspectStatus = this.entity.inspectStatus
|
if (this.entity.date!==null) {
|
this.componentData3.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
|
this.componentData3.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
|
} else {
|
this.componentData3.entity.beginDeclareDate = ''
|
this.componentData3.entity.endDeclareDate = ''
|
}
|
this.$nextTick(()=> {
|
this.$refs['ValueTable3'].selectList(e)
|
})
|
}
|
},
|
// 重 置
|
refresh() {
|
this.entity = this.HaveJson(this.entityEmpty)
|
if (this.tabIndex === 0) {
|
this.componentData.entity = this.HaveJson(this.entityCopy)
|
} else if (this.tabIndex === 1) {
|
this.componentData1.entity = this.HaveJson(this.entityCopy1)
|
} else if (this.tabIndex === 2) {
|
this.componentData2.entity = this.HaveJson(this.entityCopy2)
|
} else if (this.tabIndex === 4) {
|
this.componentData4.entity = this.HaveJson(this.entityCopy4)
|
} else {
|
this.componentData3.entity = this.HaveJson(this.entityCopy3)
|
}
|
this.refreshTable()
|
},
|
// 下单
|
playOrder(num) {
|
if (typeof num === "number") {
|
this.active = num
|
} else {
|
this.active = 1
|
this.orderType = 0
|
this.isCopper = 0
|
this.customsInspection = num
|
}
|
if (num === 0) {
|
this.refreshTable('page')
|
}
|
},
|
// 季度检验下单
|
playOrderSec (row) {
|
if (typeof row === "number") {
|
this.active = row
|
} else {
|
this.active = 1
|
this.orderType = 1
|
this.isCopper = 0
|
this.customsInspection = row
|
}
|
if (row === 0) {
|
this.refreshTable('page')
|
}
|
},
|
// 打开免检弹框
|
exemption (row) {
|
this.exemptionVisible = true
|
this.exemptionInfo = row
|
this.$set(this.exemptionInfo, 'partDetail', row.partDesc)
|
},
|
// 提交免检信息
|
submitExemption () {
|
this.exemptionLoading = true
|
this.$axios.post(this.$api.rawMaterialOrder.rawOrderRelease, {
|
ifsInventoryId: this.exemptionInfo.id,
|
partDetail: this.exemptionInfo.partDetail
|
}, {
|
headers: {
|
'Content-Type': 'application/json'
|
},
|
noQs: true
|
}).then(res => {
|
if (res.code === 200) {
|
this.exemptionVisible = false
|
this.$message.success('操作成功')
|
this.refresh()
|
}
|
this.exemptionLoading = false
|
}).catch(err => {
|
console.log(err)
|
this.exemptionLoading = false
|
})
|
},
|
// 打开撤销报检弹框
|
cancelDeclare (row) {
|
this.declareDialogVisible = true
|
this.insOrderRow = row
|
},
|
// 提交撤销报检申请
|
submitDeclare () {
|
this.$axios.post(this.$api.rawMaterialOrder.revokeInspectionReport, {
|
id: this.insOrderRow.id
|
}).then(res => {
|
if (res.code === 200) {
|
this.declareDialogVisible = false
|
this.refreshTable('page')
|
this.$message.success("撤销报检成功")
|
}
|
}).catch(err => {
|
console.log(err)
|
})
|
},
|
// 打开撤销下单的弹框
|
cancelOrder (row) {
|
if (row.enterOrderId && row.quarterOrderId) {
|
this.quashDialogVisible = true
|
} else if (row.enterOrderId && !row.quarterOrderId) {
|
this.$confirm('是否撤销进厂下单?', "警告", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}).then(() => {
|
this.$axios.post(this.$api.rawMaterialOrder.repealEnterRawOrder + '?enterOrderId=' + row.enterOrderId).then(res => {
|
if (res.code === 200) {
|
this.$message.success('撤销成功')
|
this.refreshTable('page')
|
}
|
})
|
}).catch(() => {})
|
} else if (!row.enterOrderId && row.quarterOrderId) {
|
this.$confirm('是否撤销季度下单?', "警告", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}).then(() => {
|
this.$axios.post(this.$api.rawMaterialOrder.repealQuarterRawOrder + '?quarterOrderId=' + row.quarterOrderId).then(res => {
|
if (res.code === 200) {
|
this.$message.success('撤销成功')
|
this.refreshTable('page')
|
}
|
})
|
}).catch(() => {})
|
}
|
this.insOrderRow = row
|
},
|
cancelQuashOrder (type) {
|
console.log('type---', type)
|
const url = type === 'enterOrderId' ? this.$api.rawMaterialOrder.repealEnterRawOrder : this.$api.rawMaterialOrder.repealQuarterRawOrder
|
const name = type === 'enterOrderId' ? 'enterOrderId' : 'quarterOrderId'
|
const paramInfo = type === 'enterOrderId' ? this.insOrderRow.enterOrderId : this.insOrderRow.quarterOrderId
|
this.$confirm('是否撤销当前数据?', "警告", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}).then(() => {
|
this.$axios.post(url + `?${name}=` + paramInfo).then(res => {
|
if (res.code === 200) {
|
this.$message.success('撤销成功')
|
this.refreshTable('page')
|
}
|
})
|
}).catch(() => {})
|
},
|
// 点击样品名称查看详情
|
selectAllByOne(row) {
|
this.currentId = row.insOrderId
|
this.isCopper = row.isCopper
|
if (this.isCopper == 1) {
|
this.currentId = row.enterOrderId
|
}
|
this.customsInspection = row
|
this.active = 2;
|
},
|
// 数据查看
|
handleDataLook(row) {
|
this.dataDialogVisible = true;
|
this.dataLookInfo = row
|
},
|
// 关闭数据查看弹框
|
closeDataLook () {
|
this.dataDialogVisible = false
|
},
|
// 附件查看
|
handleFileLook (row) {
|
this.filesDialogVisible = true
|
this.filesLookInfo = row
|
},
|
// 关闭附件查看弹框
|
closeFilesLook () {
|
this.filesDialogVisible = false
|
},
|
// 附件下载
|
handleDown(row){
|
this.$axios.post(this.$api.insOrderPlan.downFile, {
|
id: row.id,
|
}).then(res => {
|
if (res.code === 200) {
|
let url = '';
|
if(res.data.type==1){
|
url = this.javaApi+'/img/'+res.data.fileUrl
|
file.downloadIamge(url,row.fileName)
|
}else{
|
url = this.javaApi+'/word/'+res.data.fileUrl
|
const link = document.createElement('a');
|
link.href = url;
|
link.download = row.fileName;
|
link.click();
|
}
|
}
|
}).catch(error => {
|
|
})
|
},
|
// 报告下载
|
download(row) {
|
this.downFileDialogVisible = true
|
this.downLoadInfo = row
|
},
|
// 关闭报告下载弹框
|
closeDownFileDialog () {
|
this.downFileDialogVisible = false
|
},
|
// 查看产业链信息
|
openInfoDialog (row) {
|
this.showInfoDialog = true
|
this.$nextTick(() => {
|
this.$refs.showInfoDialog.getInfo(row.id)
|
})
|
},
|
// 修改委托编号
|
changeEntrustCode (row) {
|
this.entrustCodeVisible = true
|
this.entrustCodeInfo = {...row}
|
},
|
// 导出
|
handleOut(){
|
let entity = this.tabIndex === 3 ? {...this.componentData3.entity} : {...this.componentData2.entity}
|
delete entity.orderBy
|
this.outLoading = true
|
this.$axios.post(this.$api.rawMaterialOrder.rawAllExport,{
|
entity:entity
|
},{
|
headers: {
|
'Content-Type': 'application/json'
|
}
|
,responseType: "blob"}).then(res => {
|
this.outLoading = false
|
this.$message.success('导出成功')
|
const blob = new Blob([res],{ type: 'application/octet-stream' });
|
const url = URL.createObjectURL(blob);
|
const link = document.createElement('a');
|
link.href = url;
|
link.download = '原材料检测信息导出.xlsx';
|
link.click();
|
})
|
},
|
submitCode () {
|
this.submitCodeLoading = true
|
try {
|
this.$axios.post(this.$api.insOrderPlan.updateEntrustCode, {
|
id: this.entrustCodeInfo.id,
|
entrustCode: this.entrustCodeInfo.entrustCode,
|
}, {
|
headers: {
|
'Content-Type': 'application/json'
|
}
|
}).then(res => {
|
if (res.code === 200) {
|
this.entrustCodeVisible = false
|
this.$message.success('修改成功')
|
}
|
this.submitCodeLoading = false
|
})
|
} catch (e) {
|
this.submitCodeLoading = false
|
}
|
},
|
// 切换下单tab表格
|
handleTab(m) {
|
this.tabIndex = m.value;
|
if (this.tabIndex === 0) {
|
this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData.entity.partDesc = this.entity.partDesc
|
} else if (this.tabIndex === 1) {
|
this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData1.entity.entrustCode = this.entity.entrustCode
|
this.componentData1.entity.partDesc = this.entity.partDesc
|
} else if (this.tabIndex === 4) {
|
this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData4.entity.entrustCode = this.entity.entrustCode
|
this.componentData4.entity.partDesc = this.entity.partDesc
|
} else {
|
this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
|
this.componentData2.entity.entrustCode = this.entity.entrustCode
|
this.componentData2.entity.partDesc = this.entity.partDesc
|
}
|
this.refreshTable()
|
},
|
// 表格选择方法
|
selectMethod(val){
|
this.multipleSelection = val
|
},
|
changeRowClass({row, rowIndex}) {
|
if (row.isFirst == 1) {
|
return 'highlight-danger-row-border'
|
}
|
return ''
|
},
|
getStyle(){
|
return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
|
}
|
},
|
}
|
</script>
|
|
<style scoped>
|
.app-container {
|
padding-top: 0;
|
}
|
.title {
|
height: 60px;
|
line-height: 60px;
|
}
|
.tab {
|
list-style-type: none;
|
display: flex;
|
margin-bottom: 12px;
|
margin-top: 0;
|
padding-left: 0;
|
}
|
|
.tab li {
|
line-height: 24px;
|
padding: 6px 14px;
|
font-size: 14px;
|
color: #333333;
|
border: 1px solid #EEEEEE;
|
cursor: pointer;
|
}
|
|
.tab li:nth-child(1) {
|
border-radius: 8px 0 0 8px;
|
}
|
|
.tab li:nth-child(5) {
|
border-radius: 0 8px 8px 0;
|
}
|
|
.tab li.active {
|
border-color: #3A7BFA;
|
color: #3A7BFA;
|
}
|
</style>
|