Commit ed49a369 authored by 秦嘉's avatar 秦嘉

修改

parent 8ee48ed0
...@@ -11,3 +11,30 @@ export function formAssembling(query) { ...@@ -11,3 +11,30 @@ export function formAssembling(query) {
}) })
} }
// 查询装配追溯详情
export function queryDeviceAss(query) {
return request({
url: '/nltorderlinelogic/queryByLine',
method: 'get',
params: query
})
}
// 测试结果信息
export function queryTestInfo(query) {
return request({
url: '/NltTestInfo/queryNltTestInfoDetail',
method: 'get',
params: query
})
}
// 批次详细信息
export function queryBatch(query) {
return request({
url: '/nltorderlinelogic/queryRecordByPackage',
method: 'get',
params: query
})
}
...@@ -20,3 +20,12 @@ export function exportPacking(query) { ...@@ -20,3 +20,12 @@ export function exportPacking(query) {
responseType: 'blob' responseType: 'blob'
}) })
} }
// 查询主机追溯详情
export function queryDetailDevice(query) {
return request({
url: 'nltorderlinelogic/queryRecordByLineCode',
method: 'get',
params: query
})
}
// 生产工单-API // 生产工单-API
import request from '@/utils/request' import request from '@/utils/request'
import Qs from 'qs'
// 查询工单列表 // 查询工单列表
export function listOrder(query) { export function listOrder(query) {
...@@ -85,3 +86,17 @@ export function clearCache(businessId) { ...@@ -85,3 +86,17 @@ export function clearCache(businessId) {
method: 'delete' method: 'delete'
}) })
} }
// 修改配置PO
export function editPo(data) {
const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/nltorderlinelogic/update/' + businessId,
method: 'put',
data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
}
...@@ -444,6 +444,15 @@ ...@@ -444,6 +444,15 @@
<span>{{ scope.row.jobName || '-' }}</span> <span>{{ scope.row.jobName || '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center">
<template slot="header">
<div>操作</div>
<!-- <div>Name</div>-->
</template>
<template slot-scope="scope">
<el-link type="primary" @click="changePo(scope.row)">修改配置po</el-link>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total2>0" v-show="total2>0"
...@@ -486,6 +495,36 @@ ...@@ -486,6 +495,36 @@
<el-button class="redBtn" type="danger" @click="OKImport">确定 Confirm</el-button> <el-button class="redBtn" type="danger" @click="OKImport">确定 Confirm</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
:close-on-click-modal="false"
title="修改配置po"
class="workOrderDialogImport"
:visible.sync="poDialog"
width="40%"
append-to-body
>
<el-form ref="formPo" :model="formPo" size="small" :rules="rules1" label-width="auto">
<el-form-item class="labelHeight" label="PO编号" prop="batchNo">
<div slot="label" class="labelClassRequired">
<div class="labelName">po编号</div>
<div class="labelName">PO</div>
</div>
<el-input
v-model.trim = "formPo.batchNo"
:maxlength="10"
show-word-limit
placeholder="请输入PO编号"
clearable
style="width: 100%;"
size="small"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button class="canleBtn" @click="cancelPo">关闭 Close</el-button>
<el-button class="redBtn" type="danger" @click="OKPo">确定 Confirm</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -499,7 +538,7 @@ import { ...@@ -499,7 +538,7 @@ import {
listOrderMater, listOrderMater,
listStation, listStation,
clearCache, clearCache,
manualImport manualImport, editPo
} from '@/api/workOrder' } from '@/api/workOrder'
import moment from 'moment' import moment from 'moment'
...@@ -513,6 +552,11 @@ export default { ...@@ -513,6 +552,11 @@ export default {
}, },
data() { data() {
return { return {
// po表单
formPo: {
batchNo: '',
businessId: ''
},
// tabs默认选中 // tabs默认选中
tabsName: 'bom', tabsName: 'bom',
// 搜索框参数 // 搜索框参数
...@@ -522,6 +566,8 @@ export default { ...@@ -522,6 +566,8 @@ export default {
orderNo: undefined, orderNo: undefined,
partNo: undefined partNo: undefined
}, },
// po弹窗标志
poDialog: false,
// 遮罩标志 // 遮罩标志
Loading: true, Loading: true,
Loading1: true, Loading1: true,
...@@ -583,6 +629,16 @@ export default { ...@@ -583,6 +629,16 @@ export default {
{ required: true, message: '请输入工单编号', trigger: 'blur' }, { required: true, message: '请输入工单编号', trigger: 'blur' },
{ min: 1, max: 30, message: '长度在 1 到 30 个字符', trigger: 'blur' } { min: 1, max: 30, message: '长度在 1 到 30 个字符', trigger: 'blur' }
] ]
},
/**
*po配置规则
*/
rules1: {
batchNo: [
{ required: true, message: '请输入po编号', trigger: 'blur' },
{ min: 10, message: '长度在 10个字符', trigger: 'blur' }
]
} }
} }
}, },
...@@ -843,7 +899,6 @@ export default { ...@@ -843,7 +899,6 @@ export default {
* 点击标签事件 * 点击标签事件
*/ */
tabClickFun(tab) { tabClickFun(tab) {
console.log(tab, 'hhh')
if (tab.name === 'station') { if (tab.name === 'station') {
this.getStationTable(this.orderRow) this.getStationTable(this.orderRow)
} else if (tab.name === 'action') { } else if (tab.name === 'action') {
...@@ -851,6 +906,43 @@ export default { ...@@ -851,6 +906,43 @@ export default {
} else if (tab.name === 'bom') { } else if (tab.name === 'bom') {
this.getBomTable() this.getBomTable()
} }
},
/**
* 修改配置po点击事件
*/
changePo(row) {
console.log(row)
this.formPo.businessId = row.batchId
this.formPo.batchNo = JSON.parse(JSON.stringify(row.batchNo))
this.poDialog = true
},
cancelPo() {
this.poDialog = false
},
OKPo() {
this.$refs['formPo'].validate(validPO => {
if (validPO) {
const po = (this.formPo.batchNo).substr(5,4)
const params = {
businessId: this.formPo.businessId,
batchNo: this.formPo.batchNo,
po: po
}
editPo(params).then(res => {
if (res.code === 200) {
this.$message.success("操作成功")
this.getLineTable()
this.formPo.businessId = ''
this.formPo.batchNo = ''
this.poDialog = false
} else {
this.$message.error(res.message)
}
}).catch(err => {
this.$message.error(err.message)
})
}
})
} }
} }
} }
......
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
<div>Traceability Code for Starter Kit</div> <div>Traceability Code for Starter Kit</div>
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.lineCode || '-' }}</span> <el-link type="primary" @click="detailPacking">{{ scope.row.lineCode || '-' }}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="250" :show-overflow-tooltip="true" align="center" prop="packageCode"> <el-table-column width="250" :show-overflow-tooltip="true" align="center" prop="packageCode">
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
<div>Traceability code for device</div> <div>Traceability code for device</div>
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.packageCode || '-' }}</span> <el-link type="primary" @click="detailDevice(scope.row)">{{ scope.row.packageCode || '-' }}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" :show-overflow-tooltip="true" align="center" prop="createDate"> <el-table-column width="200" :show-overflow-tooltip="true" align="center" prop="createDate">
...@@ -185,12 +185,103 @@ ...@@ -185,12 +185,103 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
class="packingAndDeviceDialog"
:visible.sync="open"
width="80%"
append-to-body
@close="cancel">
<el-form ref="form" :model="deviceAndPackingForm" size="small" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item class="labelHeight" label="工单编号" prop="orderNo">
<div slot="label" class="labelClass">
<div class="labelName">工单编号</div>
<div class="labelName">Order No.</div>
</div>
<el-input v-model="deviceAndPackingForm.orderNo" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="labelHeight" label="成品料号" prop="orderNo">
<div slot="label" class="labelClass">
<div class="labelName">成品料号</div>
<div class="labelName">Part No.</div>
</div>
<el-input v-model="deviceAndPackingForm.orderNo" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="labelHeight" label="生产数量" prop="orderNo">
<div slot="label" class="labelClass">
<div class="labelName">生产数量</div>
<div class="labelName">Order No.</div>
</div>
<el-input v-model="deviceAndPackingForm.orderNo" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="false"
:data="deviceAndPackingData"
border
>
<el-table-column
type="index"
width="60"
>
<template slot="header">
<div>序号</div>
<div>Sort</div>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center" prop="materCode">
<template slot="header">
<div>物料料号</div>
<!-- <div>Part No.</div>-->
</template>
<template slot-scope="scope">
<span>{{ scope.row.materCode || '-' }}</span>
</template>
</el-table-column>
<el-table-column width="400" :show-overflow-tooltip="true" align="center" prop="materDesc">
<template slot="header">
<div>批次号</div>
<!-- <div>Part Description</div>-->
</template>
<template slot-scope="scope">
<span>{{ scope.row.materDesc || '-' }}</span>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center" prop="materUnit">
<template slot="header">
<div>使用数量</div>
<!-- <div>Unit</div>-->
</template>
<template slot-scope="scope">
<span>{{ scope.row.materUnit || '-' }}</span>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center" prop="qtyRequired">
<template slot="header">
<div>扫码时间</div>
<!-- <div>Qty</div>-->
</template>
<template slot-scope="scope">
<span>{{ scope.row.qtyRequired || '-' }}</span>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import moment from 'moment' import moment from 'moment'
import { exportPacking, listPacking } from '@/api/packing' import { exportPacking, listPacking, queryDetailDevice } from '@/api/packing'
export default { export default {
name: 'Packing', name: 'Packing',
/** 路由离开前存储筛选条件*/ /** 路由离开前存储筛选条件*/
...@@ -224,9 +315,23 @@ export default { ...@@ -224,9 +315,23 @@ export default {
Loading: false, Loading: false,
// 包装追溯表格数据 // 包装追溯表格数据
packingList: [], packingList: [],
// 弹窗开启标志
open: false,
// 弹窗标题
dialogTitle: '',
// 弹窗表单数据
deviceAndPackingForm: {},
// 弹窗表格数据
deviceAndPackingData: [],
} }
}, },
methods: { methods: {
/**
* 弹窗取消方法
*/
cancel() {
this.open = false
},
/** /**
* 搜索按钮方法 * 搜索按钮方法
*/ */
...@@ -288,6 +393,28 @@ export default { ...@@ -288,6 +393,28 @@ export default {
this.packingList = response.data this.packingList = response.data
this.Loading = false this.Loading = false
}) })
},
/**
* 包装追溯详情
*/
detailPacking() {
this.open = true
this.dialogTitle = '包装追溯号'
},
/**
* 主机追溯详情
*/
detailDevice(row) {
this.open = true
this.dialogTitle = '主机追溯号'
const params = {
beginDate: this.queryParams.beginDate,
endDate: this.queryParams.endDate,
lineCode: row.lineCode
}
queryDetailDevice(params).then(res => {
console.log(res.data)
})
} }
} }
} }
...@@ -320,4 +447,84 @@ export default { ...@@ -320,4 +447,84 @@ export default {
margin-left: 15px margin-left: 15px
} }
} }
.packingAndDeviceDialog {
.el-table th .cell {
display: inline-block !important;
}
.el-col-8 {
position: relative;
right: 20px;
}
.table-drop {
vertical-align: 2px;
line-height: 20px;
margin-left: 15px
}
.labelHeight {
.el-form-item__label {
height: 60px;
}
.el-form-item__error {
top: 73%;
line-height: 0;
}
}
.el-form-item--small .el-form-item__label {
line-height: 17px;
}
.labelName {
display: flex;
justify-content: end;
white-space: nowrap;
}
.labelClass {
position: relative;
bottom: 1px;
text-align: center;
}
.labelClassRequired {
text-align: center;
position: relative;
bottom: 17px;
right: 13px;
}
.tabBorder {
border: 1px solid #d1d1d1;
}
.el-tabs--border-card {
box-shadow: none !important;
}
.el-tabs--border-card > .el-tabs__header {
background-color: #f8f8f8;
}
.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
color: #D20A10;
}
.el-tabs--border-card > .el-tabs__header .el-tabs__item:not(.is-disabled):hover {
color: #D20A10;
}
.el-dialog__headerbtn:hover .el-dialog__close {
color: #D20A10;
}
.el-input {
[disabled] {
background-color: #E9E9E9;
}
}
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment