Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
| | |
| | | @page {margin: 10mm 5mm; margin-bottom: 0;margin-top:0;} |
| | | @page { |
| | | margin: 10mm 5mm; |
| | | margin-bottom: 0; |
| | | margin-top:0; |
| | | } |
| | | .xl6524921 { |
| | | padding: 0px; |
| | | mso-ignore: padding; |
| | |
| | | margin-left: 85px; |
| | | } |
| | | .bodycs{ |
| | | // margin-left: 135px; |
| | | margin-top: -30px; |
| | | } |
| | | .bodycs-1{ |
| | |
| | | height: 60px; |
| | | width: auto; |
| | | margin-top: -80px; |
| | | |
| | | } |
| | | .bodycs-2{ |
| | | display: flex; |
| | |
| | | margin-left: 130px; |
| | | } |
| | | .pagefooting{ |
| | | |
| | | font-size:8pt; |
| | | font-family:宋体; |
| | | margin-right: 15pt; |
| | | color: deepskyblue; |
| | | } |
| | | .x1111111{ |
| | | padding: 0px; |
| | |
| | | }) |
| | | } |
| | | |
| | | export function getPalletTransportsAllDetailDataApi(query) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial/detail/click', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function palletTransportsMaterialFetchListCopy(query) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial/page/copy', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function palletTransportsMaterialListClick(query) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial/page/click', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function addPalletTransportsMaterial(obj) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial', |
| | |
| | | export function putPalletTransportsMaterial(obj) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial', |
| | | method: 'put', |
| | | data: obj |
| | | }) |
| | | } |
| | | |
| | | export function putPalletTransportsMaterialCopy(obj) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial/update', |
| | | method: 'put', |
| | | data: obj |
| | | }) |
| | |
| | | }) |
| | | } |
| | | |
| | | export function updateBatchPalletTransportsCopy(obj) { |
| | | return request({ |
| | | url: '/mes/palletTransportsMaterial/updateBatchPalletTransportsCopy', |
| | | method: 'put', |
| | | data: obj |
| | | }) |
| | | } |
| | | |
| | | export function updateBatchPalletTransportsDetail(obj) { |
| | | return request({ |
| | | url: '/mes/palletTransportsDetail/updateBatch', |
| | |
| | | this.options = res.data.data |
| | | if (this.options.length > 1) { |
| | | this.dialogVisible = true |
| | | } else if(this.options.length == 0){ |
| | | this.$message.error('工作站未绑定合格库位') |
| | | // } else if(this.options.length == 0){ |
| | | // this.$message.error('工作站未绑定合格库位') |
| | | } else { |
| | | this.locationIdValue = this.options[0].id |
| | | this.submitListApi() |
| | |
| | | <div class="formwrapper"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产品检验编号:"> |
| | | <el-input @blur="selectInfoByOrderId" disabled |
| | | v-model="processInspectVo.finInsNo" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" |
| | | v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" /> |
| | |
| | | placeholder="请输入工程名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产品名称:"> |
| | | <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产品编码:"> |
| | | <el-input disabled v-model="processInspectVo.mcode" |
| | |
| | | placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="数量:"> |
| | | <el-input v-model="processInspectVo.quantity" placeholder="请输入数量" |
| | |
| | | empiricalValueAddMaxNumber: 0, |
| | | processInspectVo: { |
| | | id: null, |
| | | finInsNo: null, |
| | | material: null, |
| | | mcode: null, |
| | | prname: null, |
| | |
| | | quantity: null, |
| | | specificationsModel: null, |
| | | unit: null, |
| | | technologyId: null |
| | | technologyId: null, |
| | | documentId: null |
| | | }, |
| | | inspectionItems: [], // 新增检验项目表格 |
| | | inspectionResultForm: [], |
| | |
| | | if(id != null){ |
| | | queryById(id).then(res=>{ |
| | | let result = res.data.data |
| | | this.processInspectVo.finInsNo = result.finInsNo |
| | | this.processInspectVo.orderNumber = result.orderNumber |
| | | this.processInspectVo.mcode = result.materialCode |
| | | this.processInspectVo.prname = result.customerName |
| | |
| | | this.processInspectVo.specificationsModel = result.specs |
| | | this.processInspectVo.unit = result.punit |
| | | this.processInspectVo.quantity = result.quantity |
| | | this.processInspectVo.documentId = result.documentId |
| | | let userList = [] |
| | | result.children.forEach(item=>{ |
| | | item.iid = Math.random() |
| | |
| | | this.processInspectVo.material = sample.material |
| | | this.processInspectVo.specificationsModel = sample.specs |
| | | this.processInspectVo.unit = sample.unit |
| | | this.processInspectVo.documentId = sample.documentId |
| | | }, |
| | | changeState(row, index) { |
| | | if (row.iid != null && row.iid != '') { |
| | |
| | | addTestProject() { |
| | | let val = this.processInspectVo |
| | | let data = { |
| | | finInsNo: val.finInsNo, |
| | | customerName: val.prname, |
| | | material: val.material, |
| | | materialCode: val.mcode, |
| | |
| | | quantity: val.quantity, |
| | | specs: val.specificationsModel, |
| | | unit: val.unit, |
| | | documentId: val.documentId |
| | | } |
| | | addFinish(data).then(res=>{ |
| | | let id = res.data.data |
| | |
| | | this.processInspectVo.material = null |
| | | this.processInspectVo.specificationsModel = null |
| | | this.processInspectVo.unit = null |
| | | this.processInspectVo.documentId = null |
| | | } |
| | | }) |
| | | }, |
| | |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .finishedProduct-result { |
| | | basic.finishedProduct-result { |
| | | width: 100%; |
| | | height: 150px; |
| | | padding: 10px 20px; |
| | |
| | | |
| | | .finishedProduct-basic { |
| | | background-color: #fff; |
| | | height: 120px; |
| | | height: 155px; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | padding: 10px 20px; |
| | |
| | | </tr> |
| | | <tr class="xl6524921" height=33 style='mso-height-source:userset;height:25.05pt'> |
| | | <td colspan=6 height=33 class=xl6624921 style='border-right:.5pt solid black;height:25.05pt;border-left:none'> |
| | | 记录编号:ZTT/QR-8.6-05(A/0) |
| | | 记录编号:{{ tableData.finInsNo }} |
| | | </td> |
| | | <td colspan=3 class=xl6624921 style='border-top:none;border-left:none'> |
| | | 归档部门:质量保证部 |
| | |
| | | </p> |
| | | </td> |
| | | <td colspan=2 class="xl6924921" style='border-top:none;border-left:none'>检验依据:</td> |
| | | <td colspan=7 class="xl6624921" style='border-right:.5pt solid black; border-left:none'> |
| | | <td colspan=7 class="xl6624921" style='border-right:.5pt solid black; border-left:none'>{{ tableData.dname }} |
| | | </td> |
| | | </tr> |
| | | <tr class="xl6524921" height=53 style='mso-height-source:userset;height:40.05pt'> |
| | |
| | | </tbody> |
| | | <tr class="xl6524921" height=53 style='mso-height-source:userset;height:40.05pt'> |
| | | <td colspan=8 height=53 class=xl7624921 style='border-right:.5pt solid black;height:40.05pt;text-align: left;'> |
| | | <p> 检验/时间:<span>{{tableData.createTime}}</span></p></td> |
| | | <p> 检验/时间:<span>{{tableData.updateTime}}</span></p></td> |
| | | <td colspan=8 height=53 class=xl7624921 style='border-right:.5pt solid black; height:40.05pt;text-align: left;'> |
| | | <p> 审批:<span>{{username}}</span></p></td> |
| | | </tr> |
| | |
| | | </div> |
| | | <div style="margin-left:40pt"> |
| | | <div class="bodycs-1"> |
| | | <p ><span style="font-size:12pt;font-family:黑体">报告编号:(No):ZTMS01-<br>Report No.:</span></p> |
| | | <p style="margin-left: 350px;"><span style="font-size:12pt;font-family:黑体">报告日期<br> Report Date</span></p> |
| | | <p style="margin-left: 190px;"><span style="font-size:12pt;font-family:黑体">页次:1/8<br> Page</span></p> |
| | | <p ><span style="font-size:12pt;font-family:黑体">报告编号:{{ tableData.finInsNo }}<br>Report No.:</span></p> |
| | | <p style="margin-left: 200px;"><span style="font-size:12pt;font-family:黑体">报告日期:{{ tableData.updateTime }}<br> Report Date</span></p> |
| | | <p style="margin-left: 200px;"><span style="font-size:12pt;font-family:黑体">页次:1/8<br> Page</span></p> |
| | | </div> |
| | | <div> |
| | | <div class="bodycs-2"> |
| | |
| | | <p ><span class="ziti">产品检验</span><br><span style="display: block;height: 2px; width: 500px; background: rgb(20, 20, 22);margin-left: 75px;"></span></span></p> |
| | | </div> |
| | | <div> |
| | | <br> |
| | | <br> |
| | | <span |
| | | style='mso-spacerun:yes'> </span> |
| | | </div> |
| | | <div> |
| | | <div class="chilen"> |
| | | <p ><span class="x1111113">批 准:<br> Approved by</span></p> |
| | | <p ><span class="time"></span><br><span style="display: block;height: 2px; width: 300px; background: rgb(20, 20, 22);margin-left: 75px;"></span></span></p> |
| | |
| | | <div> |
| | | <br> |
| | | <br> |
| | | <br> |
| | | <br><br><br> |
| | | <span |
| | | style='mso-spacerun:yes'> </span> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="pagefooting"> |
| | | <p><span style="font-size:8pt;font-family:宋体;color: cornflowerblue;margin-left: 40pt;"> |
| | | <p><span style="font-size:14pt;font-family:宋体;color: cornflowerblue;"> |
| | | 地址:江苏省南通市经济技术开发区新开南路1号(226010) 电话:051389191125 传真:051389191123 |
| | | <br>Add: No 1 Xinkainan Road, NETDZ Nantong, Jiangsu, China (226010); TEL: 051389191125 ; Fax:051389191123 |
| | | </span></p> |
| | |
| | | <span class=x1111112 >Test Report</span><br> |
| | | </span></p> |
| | | <div class="bodycs-1"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:(No):ZTMS01-<br>Report No.:</span></p> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:{{ tableData.finInsNo }}<br>Report No.:</span></p> |
| | | <p style="margin-left: 620px;"><span style="font-size:12pt;font-family:黑体">页次:2/8<br> Page</span></p> |
| | | </div> |
| | | </div> |
| | |
| | | style='mso-spacerun:yes'> </span> |
| | | </div> |
| | | <div class="pagefooting"> |
| | | <p><span style="font-size:8pt;font-family:宋体;color: cornflowerblue;"> |
| | | <p><span style="font-size:14pt;font-family:宋体;color: cornflowerblue;"> |
| | | 地址:江苏省南通市经济技术开发区新开南路1号(226010) 电话:051389191125 传真:051389191123 |
| | | <br>Add: No 1 Xinkainan Road, NETDZ Nantong, Jiangsu, China (226010); TEL: 051389191125 ; Fax:051389191123 |
| | | </span></p> |
| | |
| | | </div> |
| | | <div class="head-2"> |
| | | <p><span style="font-size:18pt;font-family:宋体;margin-right: 70pt;">中天海洋系统有限公司</span></p> |
| | | <div> |
| | | <span style="font-size:12pt;font-family:宋体;margin-right: 70pt;">ZHONGTIAN TECHNOLOGY MARINE SYSTEMS Co.,LTD.</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="bodycss"> |
| | | <div class="bodycs"> |
| | | <p class=x1111111><span>检 测 报 告<br> |
| | | <div style="display: flex;"> |
| | | <span class=x1111112 style="margin-left: 40px;">报告编号:(No):ZTMS01-<br>Report No.:</span> |
| | | <span class=x1111112 style="margin-left: 335px;" >Test Report</span> |
| | | <span class=x1111112 style="margin-left: 335px">页次:3/8<br> Page</span> |
| | | </div> |
| | | <span class=x1111112 >Test Report</span><br> |
| | | <p style=" border-top: 1px solid black;width: 900pt;margin-top: -1px;"></p> |
| | | </span></p> |
| | | <div class="bodycs-1"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:{{ tableData.finInsNo }}<br>Report No.:</span></p> |
| | | <p style="margin-left: 620px;"><span style="font-size:12pt;font-family:黑体">页次:3/8<br> Page</span></p> |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="margin-top: 70px;"> |
| | | <p class="x1111113" ><span style="display: flex;margin-top: 40px;margin-left: 40px;">报告正文:</span></p> |
| | | </div> |
| | | <div class="bodycs" style="margin-top: 80px;"> |
| | | <p class=x1111112><span>{{iname}}<br> |
| | | </span></p> |
| | | <div class="bodycs-1" style="margin-top: 10px;"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">1.测试设备<br> 设备名称<br>Name of Equipment</span></p> |
| | | <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体"> <br>设备型号<br> Model</span></p> |
| | | <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体"> <br>设备编号<br>Serial No.</span></p> |
| | | <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体"> <br>校准有效期<br>Calibration Due Date</span></p> |
| | | </div> |
| | | |
| | | <div> |
| | | <p class=x1111112 style="display: flex;margin-left: 40px;">1.测试设备</p> |
| | | <div class="bodycs" style="margin-top: 80px;" v-if='ela.iname !== "" ' v-for="ela in pel.children"> |
| | | <div class="bodycs-1" style="margin-top: 10px;"> |
| | | <p style="margin-left: 40px;font-size:12pt;font-family:黑体">检验项目:<span style="width: 60px;"> {{ela.iname}}<br><span>设备名称:{{ ela.ename }}</span><br>Name of Equipment</span></p> |
| | | <p style="padding-left: 100px;"><span style="font-size:12pt;font-family:黑体"> <br>设备型号:{{ ela.specifications }}<br> Model</span></p> |
| | | <p style="padding-left: 100px;"><span style="font-size:12pt;font-family:黑体"> <br>设备编号:{{ ela.code}}<br>Serial No.</span></p> |
| | | <p style="margin-left: 110px;"><span style="font-size:12pt;font-family:黑体"> <br>校准有效期:{{ ela.date }}<br>Calibration Due Date</span></p> |
| | | </div> |
| | | </div> |
| | | <!-- <div> |
| | | <p style=" border-top: 1px solid black;width: 96%;margin-top: 20px;"></p> |
| | | </div> --> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <div style="display: flex;margin-top: 60px;"> |
| | | <p ><span><span class=x1111112 style="margin-left: 40px;">2.参考标准Reference standards</span> |
| | | <!-- |
| | | <br>本次检测所依据的技术文件(代号、名称):<br>Reference documents for this testing --> |
| | | </span></p> |
| | | </div> |
| | | <div style="margin-top: 100px;display: flex;"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">2.参考标准Reference standards <br>本次检测所依据的技术文件(代号、名称):<br>Reference documents for this testing </span></p> |
| | | </div> |
| | | <br> |
| | | <br> |
| | | |
| | | <p style="font-size:18pt;font-family:宋体">本次检验参考的技术文件是:<span>{{tableData.dname}},编号:{{tableData.dnumber }}</span></p> |
| | | <div> |
| | | <p style=" border-top: 1px solid black;width: 96%;margin-top: 1px;"></p> |
| | | </div> |
| | | |
| | | <div style="margin-top: 80px;display: flex;"> |
| | | <p class=x1111112 style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">3.环境条件Environmental conditions:</span></p> |
| | | <p class=x1111112 style="margin-left: 40px;"><span >3.环境条件Environmental conditions:</span></p> |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <p style="margin-left: 50px;"><span >温度(Temperature):℃ </span></p> |
| | | <p style="margin-left: 450px;"><span >相对湿度(R.H.):%</span></p> |
| | | </div> |
| | | <div style="margin-top: 50px;display: flex;"> |
| | | <p class=x1111112 style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">4.测试目的Test purpose:</span></p> |
| | | <p class=x1111112 style="margin-left: 40px;"><span>4.测试目的Test purpose:</span></p> |
| | | </div> |
| | | <div v-for="ela in pel.children" v-if='ela.iname !== "" ' style="display: flex;margin-left: 40px;"> |
| | | <p>检验项目:{{ ela.iname }},测试目的是:{{ ela.method }}</p> |
| | | </div> |
| | | <div style="margin-top: 80px;display: flex;"> |
| | | <p class=x1111112 style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">5.测试方法Test method:</span></p> |
| | | <p class=x1111112 style="margin-left: 40px;"><span>5.测试方法Test method:</span></p> |
| | | </div> |
| | | <div v-for="ela in pel.children" v-if='ela.iname !== "" ' style="display: flex;margin-left: 40px;"> |
| | | <p>检验项目:{{ ela.iname }},测试目的是:{{ ela.purpose }}</p> |
| | | </div> |
| | | <div> |
| | | <br> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="pagefooting"> |
| | | <p><span style="font-size:8pt;font-family:宋体;color: cornflowerblue;"> |
| | | <p><span style="font-size:14pt;font-family:宋体;color: cornflowerblue;"> |
| | | 地址:江苏省南通市经济技术开发区新开南路1号(226010) 电话:051389191125 传真:051389191123 |
| | | <br>Add: No 1 Xinkainan Road, NETDZ Nantong, Jiangsu, China (226010); TEL: 051389191125 ; Fax:051389191123 |
| | | </span></p> |
| | |
| | | <span class=x1111112 >Test Report</span><br> |
| | | </span></p> |
| | | <div class="bodycs-1"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:(No):ZTMS01-<br>Report No.:</span></p> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:{{ tableData.finInsNo }}<br>Report No.:</span></p> |
| | | <p style="margin-left: 620px;"><span style="font-size:12pt;font-family:黑体">页次:4/8<br> Page</span></p> |
| | | </div> |
| | | </div> |
| | |
| | | <td class="x1111113"><span style="font-size 40pt;margin-left: 80px;font-family:黑体">样品数量</span></td> |
| | | <td class="x1111113"><span style="font-size 40pt;margin-left: 80px;font-family:黑体">测试结果</span></td> |
| | | </tr> |
| | | <tr style="height: 100px;"> |
| | | <td></td> |
| | | <td></td> |
| | | <tr style="height: 100px;" v-if='ela.iname !== "" ' v-for="ela in pel.children"> |
| | | <td class="x1111113" style="text-align: center;">{{ ela.iname }}</td> |
| | | <td class="x1111113" style="text-align: center;">{{ tableData.quantity }}</td> |
| | | <td></td> |
| | | </tr> |
| | | <tr style="height: 80px;"> |
| | | <!-- <tr style="height: 80px;"> |
| | | <td colspan=3></td> |
| | | </tr> |
| | | </tr> --> |
| | | </table> |
| | | </div> |
| | | <div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="pagefooting"> |
| | | <p><span style="font-size:8pt;font-family:宋体;color: cornflowerblue;"> |
| | | <p><span style="font-size:14pt;font-family:宋体;color: cornflowerblue;"> |
| | | 地址:江苏省南通市经济技术开发区新开南路1号(226010) 电话:051389191125 传真:051389191123 |
| | | <br>Add: No 1 Xinkainan Road, NETDZ Nantong, Jiangsu, China (226010); TEL: 051389191125 ; Fax:051389191123 |
| | | </span></p> |
| | |
| | | <span class=x1111112 >Test Report</span><br> |
| | | </span></p> |
| | | <div class="bodycs-1"> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:(No):ZTMS01-<br>Report No.:</span></p> |
| | | <p style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">报告编号:{{ tableData.finInsNo }}<br>Report No.:</span></p> |
| | | <p style="margin-left: 620px;"><span style="font-size:12pt;font-family:黑体">页次:5/8<br> Page</span></p> |
| | | </div> |
| | | </div> |
| | |
| | | style='mso-spacerun:yes'> </span> |
| | | </div> |
| | | <div class="pagefooting"> |
| | | <p><span style="font-size:8pt;font-family:宋体;color: cornflowerblue;"> |
| | | <p><span style="font-size:14pt;font-family:宋体;color: cornflowerblue;"> |
| | | 地址:江苏省南通市经济技术开发区新开南路1号(226010) 电话:051389191125 传真:051389191123 |
| | | <br>Add: No 1 Xinkainan Road, NETDZ Nantong, Jiangsu, China (226010); TEL: 051389191125 ; Fax:051389191123 |
| | | </span></p> |
| | |
| | | column: [ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'orderNumber', |
| | | label: '订单号', |
| | | prop: 'finInsNo', |
| | | label: '产品检验编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | render: { fun: this.addOrUpdateHandle } |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'orderNumber', |
| | | label: '订单号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | |
| | | PrintJS({ |
| | | printable: "printRaw", |
| | | type: "html", |
| | | // scanStyles: false, |
| | | maxWidth: 1000, |
| | | // header: "产品检测报告", |
| | | scanStyles: false, |
| | | maxWidth: 1200, |
| | | header: "产品检测报告", |
| | | style:style, |
| | | css:'./title.css', |
| | | targetStyles: ["*"], |
| | | ignoreElements: ["no-ignore"], |
| | | orientation: 'portrait' |
| | |
| | | column: [ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'orderNumber', |
| | | label: '订单编号', |
| | | prop: 'proInsNo', |
| | | label: '过程检验编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'orderNumber', |
| | | label: '订单编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'material', |
| | | label: '产品名称', |
| | | isTrue: true, |
| | |
| | | <div class="formwrapper"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="过程检验编号:"> |
| | | <el-input @blur="selectInfoByOrderId" disabled |
| | | v-model="processInspectVo.proInsNo" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" |
| | | v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" /> |
| | |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input disabled v-model="processInspectVo.specs" placeholder="请输入规格型号" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="6"> |
| | | <el-form-item label="工序名称"> |
| | | <el-select style="width: 100%" :disabled="processInspectVo.id != null" |
| | |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="数量:"> |
| | | <el-input v-model="processInspectVo.quantity" placeholder="请输入数量" autocomplete="off" |
| | |
| | | empiricalValueAddMaxNumber: 0, |
| | | processInspectVo: { |
| | | id: null, |
| | | proInsNo: null, |
| | | material: null, |
| | | materialCode: null, |
| | | orderNumber: "ZTTIC20230001", |
| | |
| | | if (id != null) { |
| | | queryById(id).then(res => { |
| | | let result = res.data.data |
| | | this.processInspectVo.proInsNo = result.proInsNo |
| | | this.processInspectVo.orderNumber = result.orderNumber |
| | | this.processInspectVo.materialCode = result.materialCode |
| | | this.processInspectVo.material = result.material |
| | |
| | | column: [ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'code', |
| | | label: '原材料编码', |
| | | prop: 'rawInsNo', |
| | | label: '原材料检验编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'code', |
| | | label: '原材料编码', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'projectName', |
| | | label: '项目名称', |
| | | isTrue: true, |
| | |
| | | label-width="110px"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="原材料检验编号" prop="rawInsNo"> |
| | | <el-input v-model="dataForm.rawInsNo" disabled> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="零件号" prop="code"> |
| | | <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null"> |
| | | <el-button |
| | |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="规格型号" prop="specs"> |
| | | <el-input v-model="dataForm.specs" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="unit" label="单位"> |
| | | <el-input |
| | |
| | | <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="projectName" label="项目名称"> |
| | | <el-form-item prop="projectName" label="项目名称" v-if="dataForm.id!=null"> |
| | | <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName"> |
| | | <el-input v-model="dataForm.projectName" disabled ></el-input> |
| | | </el-tooltip> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="报检日期" prop="createTime" v-if="dataForm.id!=null"> |
| | | <el-input v-model="dataForm.createTime" disabled /> |
| | |
| | | // 确认回调 |
| | | selectPart(param, nodePart, index) { |
| | | if (typeof param !== 'undefined') { |
| | | this.dataForm.rawInsNo = param.rawInsNo |
| | | this.dataForm.code = param.code |
| | | this.dataForm.name = param.name |
| | | this.dataForm.formTime = param.formTime |
| | |
| | | if(this.dataForm.id){ |
| | | getObj(this.dataForm.id).then(res=>{ |
| | | let data = res.data.data |
| | | this.dataForm.rawInsNo = data.rawInsNo |
| | | this.dataForm.name = data.name |
| | | this.dataForm.formTime = data.formTime |
| | | this.dataForm.code = data.code |
| | |
| | | </div> |
| | | <div style="display:flex;align-items:center;margin-left:10px;"> |
| | | <div> |
| | | <span>库位描述:</span> |
| | | <span>库位名称:</span> |
| | | </div> |
| | | <div> |
| | | <el-input |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column type="index" width="50" label="序号"> </el-table-column> |
| | | <el-table-column prop="locationNo" label="库位号" align="center"> |
| | | <el-table-column prop="locNo" label="库位号" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationDesc" |
| | | label="库位描述" |
| | | prop="locName" |
| | | label="库位名称" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationGroupDesc" |
| | | label="库位组描述" |
| | | prop="locType" |
| | | label="库位类型" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationTypeDesc" |
| | | label="库位类型描述" |
| | | prop="ifsLocation" |
| | | label="ifs库位" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="ifsLocationGroup" |
| | | label="ifs库位组" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | |
| | | </el-dialog> |
| | | </template> |
| | | <script> |
| | | import { getIfsLocationByGroup } from '@/api/warehouse/location' |
| | | import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' |
| | | import { updateBatchPalletTransportsDetail } from '@/api/warehouse/pallettransports' |
| | | export default { |
| | | components: {}, |
| | |
| | | // 查询ifs库位列表 |
| | | queryLocation() { |
| | | this.ifsLocationData = [] |
| | | getIfsLocationByGroup({ |
| | | getIfsLocationByGroupCopyAll({ |
| | | locationNo: this.dataForm.locationNo, |
| | | locationDesc: this.dataForm.locationDesc |
| | | }).then((response) => { |
| | | if (response.data.code === 0) { |
| | | if (response.data.code == 0) { |
| | | const _data = response.data.data |
| | | this.ifsLocationData = _data.map((item, index) => { |
| | | return { |
| | | id: index + 1, |
| | | locationNo: item.LOCATION_NO, |
| | | locationDesc: item.LOCATION_DESC, |
| | | locationGroupDesc: item.LOCATION_GROUP_DESC, |
| | | locationTypeDesc: item.LOCATION_TYPE_DESC, |
| | | locNo: item.locNo, |
| | | locName: item.locName, |
| | | locType: item.locType, |
| | | ifsLocation: item.ifsLocation, |
| | | ifsLocationGroup: item.ifsLocationGroup, |
| | | commonChecked: false |
| | | } |
| | | }) |
| | |
| | | this.detailList.forEach((item) => { |
| | | transportsDetails.push({ |
| | | id: item.id, |
| | | toIfsLocationName: this.currLocationRow.locationDesc, |
| | | toIfsLocationNo: this.currLocationRow.locationNo |
| | | toIfsLocationName: this.currLocationRow.locName, |
| | | toIfsLocationNo: this.currLocationRow.locNo |
| | | }) |
| | | }) |
| | | updateBatchPalletTransportsDetail(transportsDetails) |
| | |
| | | </div> |
| | | <div style="display:flex;align-items:center;margin-left:10px;"> |
| | | <div> |
| | | <span>库位描述:</span> |
| | | <span>库位名称:</span> |
| | | </div> |
| | | <div> |
| | | <el-input |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column type="index" width="50" label="序号"> </el-table-column> |
| | | <el-table-column prop="locationNo" label="库位号" align="center"> |
| | | <el-table-column prop="locNo" label="库位号" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationDesc" |
| | | label="库位描述" |
| | | prop="locName" |
| | | label="库位名称" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationGroupDesc" |
| | | label="库位组描述" |
| | | prop="locType" |
| | | label="库位类型" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <template scope="scope"> |
| | | {{formatLocType(scope.row.locType)}} |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | prop="ifsLocation" |
| | | label="ifs库位" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationTypeDesc" |
| | | label="库位类型描述" |
| | | prop="ifsLocationGroup" |
| | | label="ifs库位组" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | </el-table> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="innerVisible = false">取 消</el-button> |
| | |
| | | </el-dialog> |
| | | </template> |
| | | <script> |
| | | import { getIfsLocationByGroup } from '@/api/warehouse/location' |
| | | import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' |
| | | import { updateBatchPalletTransportsMaterial } from '@/api/warehouse/pallettransports' |
| | | import Template from '../../quality/parts/template.vue' |
| | | import { remote } from '../../../api/admin/dict' |
| | | export default { |
| | | components: {}, |
| | | components: {Template}, |
| | | props: { |
| | | currshowlist: { |
| | | type: Boolean, |
| | |
| | | } |
| | | } |
| | | }, |
| | | filters:{ |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | innerVisible: false, |
| | | locTypeOption: [], |
| | | isSubmit: false, |
| | | dataForm: { |
| | | locationNo: null, |
| | | locationDesc: null |
| | | locationNo: '', |
| | | locationDesc: '' |
| | | }, |
| | | ifsLocationData: [], |
| | | currLocationRow: null |
| | | } |
| | | }, |
| | | created() { |
| | | this.getLoc() |
| | | }, |
| | | methods: { |
| | | formatLocType(val){ |
| | | let list = this.locTypeOption |
| | | console.log(val,list) |
| | | list.forEach(ele=>{ |
| | | console.log(Number(ele.value) == Number(val)); |
| | | if(Number(ele.value) == Number(val)){ |
| | | return ele.label |
| | | } |
| | | }) |
| | | }, |
| | | // 查询ifs库位列表 |
| | | queryLocation() { |
| | | this.ifsLocationData = [] |
| | | getIfsLocationByGroup({ |
| | | getIfsLocationByGroupCopyAll({ |
| | | locationNo: this.dataForm.locationNo, |
| | | locationDesc: this.dataForm.locationDesc |
| | | }).then((response) => { |
| | | if (response.data.code === 0) { |
| | | if (response.data.code == 0) { |
| | | const _data = response.data.data |
| | | this.ifsLocationData = _data.map((item, index) => { |
| | | return { |
| | | id: index + 1, |
| | | locationNo: item.LOCATION_NO, |
| | | locationDesc: item.LOCATION_DESC, |
| | | locationGroupDesc: item.LOCATION_GROUP_DESC, |
| | | locationTypeDesc: item.LOCATION_TYPE_DESC, |
| | | locNo: item.locNo, |
| | | locName: item.locName, |
| | | locType: item.locType, |
| | | ifsLocation: item.ifsLocation, |
| | | ifsLocationGroup: item.ifsLocationGroup, |
| | | commonChecked: false |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | // 获取库位类型的数据字典 |
| | | getLoc() { |
| | | remote('warehouse_type').then((response) => { |
| | | if (response.data.code === 0) { |
| | | this.locTypeOption = response.data.data |
| | | } |
| | | console.log(response); |
| | | }) |
| | | }, |
| | | // 单行选中 |
| | |
| | | saveSelectRow() { |
| | | this.isSubmit = true |
| | | const transportsMaterials = [] |
| | | console.log(`output->this.transportsList`,this.transportsList) |
| | | this.transportsList.forEach((item) => { |
| | | transportsMaterials.push({ |
| | | id: item.id, |
| | | toIfsLocationName: this.currLocationRow.locationDesc, |
| | | toIfsLocationNo: this.currLocationRow.locationNo |
| | | toIfsLocationName: this.currLocationRow.locName, |
| | | toIfsLocationNo: this.currLocationRow.locNo |
| | | }) |
| | | }) |
| | | updateBatchPalletTransportsMaterial(transportsMaterials) |
| | |
| | | <template> |
| | | <el-dialog |
| | | width="65%" |
| | | title="IFS库存物料" |
| | | top="5vh" |
| | | :visible.sync="innerVisible" |
| | | append-to-body |
| | | @close="$emit('update:currshowlist', false)" |
| | | :show="currshowlist" |
| | | class="part-dialog" |
| | | > |
| | | <el-dialog width="65%" title="IFS库存物料" top="5vh" :visible.sync="innerVisible" append-to-body |
| | | @close="$emit('update:currshowlist', false)" :show="currshowlist" class="part-dialog"> |
| | | <div> |
| | | <span>需求数量:</span |
| | | ><span style="color:Red;">{{ |
| | | <span>需求数量:</span><span style="color:Red;">{{ |
| | | materialRow == null |
| | | ? '' |
| | | : materialRow.surplusQuantity - totalPlanMoveQuality |
| | | }}</span> |
| | | </div> |
| | | <el-table |
| | | class="ifs-stock-table" |
| | | :data="ifsStockData" |
| | | style="width: 100%;" |
| | | height="450px" |
| | | border |
| | | @selection-change="ifsStockSelectionChange" |
| | | stripe |
| | | ref="ifsStockTable" |
| | | > |
| | | <el-table class="ifs-stock-table" :data="ifsStockData" style="width: 100%;" height="450px" border |
| | | @selection-change="ifsStockSelectionChange" stripe ref="ifsStockTables"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column type="index" width="50" label="序号"> </el-table-column> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="零件号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partDesc" |
| | | label="零件描述" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="locationDesc" |
| | | label="库位" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="locationDesc" label="库位" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="batchNo" |
| | | label="批次号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="batchNo" label="批次号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wdr" |
| | | label="WDR" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="wdr" label="WDR" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="optaskNo" |
| | | label="工单" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="optaskNo" label="工单" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="available" |
| | | label="可用库存数量" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="available" label="可用库存数量" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planMoveQuality" |
| | | label="计划移库数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="planMoveQuality" label="计划移库数量" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.planMoveQuality" |
| | | @blur="blurChangeCallback(scope.row)" |
| | | ></el-input> |
| | | <el-input v-model="scope.row.planMoveQuality" @blur="blurChangeCallback(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="单位" align="center"> |
| | |
| | | </el-table> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="innerVisible = false">取 消</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :disabled="isSubmit" |
| | | v-thinclick="`saveSelectRow`" |
| | | >确 定</el-button |
| | | > |
| | | <el-button type="primary" v-thinclick="`saveSelectRow`">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | flagMsg = |
| | | flagMsg + '第' + (i + 1) + '行,计划移库数量最多六位小数;' |
| | | } else { |
| | | console.log( |
| | | 'this.ifsStockData[i].planMoveQuality', |
| | | this.ifsStockData[i].planMoveQuality |
| | | ) |
| | | console.log( |
| | | 'this.ifsStockData[i].available', |
| | | this.ifsStockData[i].available |
| | | ) |
| | | console.log( |
| | | this.ifsStockData[i].planMoveQuality > |
| | | this.ifsStockData[i].available |
| | | ) |
| | | // console.log( |
| | | // 'this.ifsStockData[i].planMoveQuality', |
| | | // this.ifsStockData[i].planMoveQuality |
| | | // ) |
| | | // console.log( |
| | | // 'this.ifsStockData[i].available', |
| | | // this.ifsStockData[i].available |
| | | // ) |
| | | // console.log( |
| | | // this.ifsStockData[i].planMoveQuality > |
| | | // this.ifsStockData[i].available |
| | | // ) |
| | | if ( |
| | | this.ifsStockData[i].planMoveQuality > |
| | | this.ifsStockData[i].available |
| | |
| | | partDesc: item.partDesc, |
| | | batchNo: item.batchNo, |
| | | wdr: item.wdr, |
| | | serialNo: item.serialNo, |
| | | engChgLevel: item.engChgLevel, |
| | | configurationId: item.configurationId, |
| | | activitySeq: item.activitySeq, |
| | | transferQuantity: item.planMoveQuality, |
| | | fromIfsLocationNo: item.locationNo, |
| | | transportsMaterialId: this.materialRow.id, |
| | | toIfsLocationNo: this.materialRow.toIfsLocationNo, |
| | | toIfsLocationName: this.materialRow.toIfsLocationName, |
| | | partId: this.materialRow.partId, |
| | | transportsId: this.transportsRow.id, |
| | | operationTaskId: item.optaskId, |
| | | operationTaskNo: item.optaskNo, |
| | |
| | | } else { |
| | | this.$message.error('添加移库明细失败') |
| | | } |
| | | this.isSubmit = false |
| | | this.isSubmit = true |
| | | }) |
| | | .catch(() => { |
| | | this.isSubmit = false |
| | | this.isSubmit = true |
| | | }) |
| | | } else { |
| | | this.$message.error('请选择IFS库存物料') |
| | |
| | | id: index + 1, |
| | | partNo: item.PART_NO, |
| | | partDesc: item.PART_DESC, |
| | | locationDesc: item.LOCATION_DESC, |
| | | locationDesc: item.LOCATION_NO, |
| | | locationNo: item.LOCATION_NO, |
| | | batchNo: item.LOT_BATCH_NO, |
| | | wdr: item.WAIV_DEV_REJ_NO, |
| | | available: Number(item.QTY_AVAILABLE), |
| | | unit: item.UNIT_MEAS_DESC, |
| | | engChgLevel: item.ENG_CHG_LEVEL, |
| | | serialNo: item.SERIAL_NO, |
| | | configurationId: item.CONFIGURATION_ID, |
| | | activitySeq: item.ACTIVITY_SEQ, |
| | | planMoveQuality: Number(item.QTY_AVAILABLE), |
| | | partId: this.materialRow.partId, |
| | | optaskNo: this.optask != null ? this.optask.optaskNo : null, |
| | | optaskId: this.optask != null ? this.optask.id : null |
| | | }) |
| | |
| | | } |
| | | } |
| | | }) |
| | | console.log(`output->this.ifsStockData`,this.ifsStockData) |
| | | }) |
| | | } |
| | | } |
| | |
| | | .part-dialog .el-dialog__header { |
| | | padding: 10px 20px 10px; |
| | | } |
| | | |
| | | .part-dialog .el-dialog__header .el-dialog__headerbtn { |
| | | top: 10px; |
| | | } |
| | | |
| | | .part-dialog .el-dialog__body { |
| | | padding: 5px 20px; |
| | | } |
| | |
| | | <basic-container> |
| | | <el-row> |
| | | <el-col :span="9"> |
| | | <ttable |
| | | :table="table" |
| | | @currentChange="palletTransportsChange" |
| | | :uploadInfo="uploadInfo" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | :fixedHeight="palletTransportsFixedHeight" |
| | | ref="pallettransportsTable" |
| | | > |
| | | <ttable :table="table" @currentChange="palletTransportsChange" :uploadInfo="uploadInfo" :prelang="prelang" |
| | | :options="options" :ajaxFun="ajaxFun" :fixedHeight="palletTransportsFixedHeight" ref="pallettransportsTable"> |
| | | <template #toolbar> |
| | | <el-button |
| | | v-if="permissions.warehouse_pallettransports_add" |
| | | type="primary" |
| | | @click="addOrUpdateHandle()" |
| | | >新增</el-button |
| | | > |
| | | <el-button v-if="permissions.warehouse_pallettransports_add" type="primary" |
| | | @click="addOrUpdateHandle()">新增</el-button> |
| | | </template> |
| | | </ttable> |
| | | <div |
| | | style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div> |
| | | <span style="font-weight:bold;">对应工单</span> |
| | | </div> |
| | | <div></div> |
| | | </div> |
| | | <div style="padding:0px 20px 0px;"> |
| | | <el-table |
| | | class="pallet-transports-optask-table" |
| | | :data="palletTransportsOptaskData" |
| | | style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" |
| | | height="100px" |
| | | border |
| | | highlight-current-row |
| | | @row-click="optaskRowClick" |
| | | stripe |
| | | ref="palletTransportsOptaskTable" |
| | | > |
| | | <el-table class="pallet-transports-optask-table" :data="palletTransportsOptaskData" style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border highlight-current-row |
| | | @row-click="optaskRowClick" stripe ref="palletTransportsOptaskTable"> |
| | | <el-table-column align="center" width="55" label="单选"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox |
| | | class="optask-table-single-checkbox" |
| | | v-model="scope.row.commonChecked" |
| | | disabled |
| | | ></el-checkbox> |
| | | <el-checkbox class="optask-table-single-checkbox" v-model="scope.row.commonChecked" |
| | | disabled></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="optaskNo" |
| | | label="工单号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="optaskNo" label="工单号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partName" |
| | | label="零件" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partName" label="零件" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="workCenter" |
| | | label="工作中心" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="workCenter" label="工作中心" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="workstationName" |
| | | label="工作站" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="workstationName" label="工作站" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="plannedQuantity" |
| | | label="计划数量" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="plannedQuantity" label="计划数量" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="unit" label="单位" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="15" style="padding-left: 10px;padding-right: 10px"> |
| | | <div |
| | | style="display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div><span style="font-weight:bold;">物料需求</span></div> |
| | | <div> |
| | | <el-button |
| | | type="text" |
| | | v-if="permissions.warehouse_pallettransports_demand_add" |
| | | @click="openPartDialog" |
| | | >新增</el-button |
| | | ><el-button |
| | | type="text" |
| | | v-if="permissions.warehouse_pallettransports_ifs" |
| | | @click="openLocationDialog" |
| | | >IFS至库位</el-button |
| | | > |
| | | <el-button type="text" v-if="permissions.warehouse_pallettransports_demand_add" |
| | | @click="openPartDialog">新增</el-button><el-button type="text" |
| | | v-if="permissions.warehouse_pallettransports_ifs" @click="openLocationDialog">移至库位</el-button> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table |
| | | class="pallet-transports-material-table" |
| | | :data="palletTransportsMaterialData" |
| | | style="width: 100%;" |
| | | height="350px" |
| | | border |
| | | @selection-change="palletTransportsMaterialSelectionChange" |
| | | stripe |
| | | ref="palletTransportsMaterialTable" |
| | | > |
| | | <el-table class="pallet-transports-material-table" :data="palletTransportsMaterialData" style="width: 100%;" |
| | | height="350px" border @selection-change="palletTransportsMaterialSelectionChange" stripe |
| | | ref="palletTransportsMaterialTable"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="零件号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partDesc" |
| | | label="零件描述" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="demandQuantity" |
| | | label="需求数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="demandQuantity" label="需求数量" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-show="scope.row.canEdit" |
| | | v-model="scope.row.demandQuantity" |
| | | ></el-input> |
| | | <el-input v-show="scope.row.canEdit" v-model="scope.row.demandQuantity"></el-input> |
| | | <span v-show="!scope.row.canEdit">{{ |
| | | scope.row.demandQuantity |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="transferQuantity" |
| | | label="移库数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="transferQuantity" label="移库数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="surplusQuantity" |
| | | label="剩余数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="surplusQuantity" label="剩余数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="toIfsLocationNo" |
| | | label="IFS至库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="toIfsLocationNo" label="移至库位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-show="!scope.row.canEdit" |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="scope.row.canEdit = true" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | v-show="scope.row.canEdit" |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="updateMaterial(scope.row)" |
| | | >保存</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="delMaterial(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button v-show="!scope.row.canEdit" type="text" :disabled="scope.row.detailExistState" |
| | | @click="scope.row.canEdit = true">编辑</el-button> |
| | | <el-button v-show="scope.row.canEdit" type="text" :disabled="scope.row.detailExistState" |
| | | @click="updateMaterial(scope.row)">保存</el-button> |
| | | <el-button type="text" :disabled="scope.row.detailExistState" |
| | | @click="delMaterial(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div |
| | | style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div> |
| | | <span style="font-weight:bold;">移库明细</span |
| | | ><span style="color:red;" |
| | | >({{ |
| | | <span style="font-weight:bold;">移库明细</span><span style="color:red;">({{ |
| | | palletTransportsMaterialMultipleSelection.length > 0 |
| | | ? palletTransportsMaterialMultipleSelection[ |
| | | palletTransportsMaterialMultipleSelection.length - 1 |
| | | ].partDesc |
| | | : '' |
| | | }})</span |
| | | > |
| | | }})</span> |
| | | </div> |
| | | <div> |
| | | <el-button |
| | | type="primary" |
| | | v-if="permissions.warehouse_pallettransports_detail_add" |
| | | round |
| | | @click="openStockDialog" |
| | | >添加明细</el-button |
| | | > |
| | | <el-button |
| | | type="warning" |
| | | v-if="permissions.warehouse_pallettransports_detail_library" |
| | | round |
| | | @click="openDetailLocationDialog" |
| | | >一键至库位</el-button |
| | | > |
| | | <el-button |
| | | type="success" |
| | | v-if="permissions.warehouse_pallettransports_detail_execute" |
| | | round |
| | | @click="executeMove" |
| | | >执 行</el-button |
| | | > |
| | | <el-button type="primary" v-if="permissions.warehouse_pallettransports_detail_add" round |
| | | @click="openStockDialog">添加明细</el-button> |
| | | <!-- <el-button type="warning" v-if="permissions.warehouse_pallettransports_detail_library" round |
| | | @click="openDetailLocationDialog">一键至库位</el-button> --> |
| | | <el-button type="success" v-if="permissions.warehouse_pallettransports_detail_execute" round |
| | | @click="executeMove">执 行</el-button> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table |
| | | class="pallet-transports-detail-table" |
| | | :data="palletTransportsDetailData" |
| | | style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" |
| | | height="100px" |
| | | border |
| | | @selection-change="palletTransportsDetailSelectionChange" |
| | | stripe |
| | | ref="palletTransportsDetailTable" |
| | | > |
| | | <el-table class="pallet-transports-detail-table" :data="palletTransportsDetailData" style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border |
| | | @selection-change="palletTransportsDetailSelectionChange" stripe ref="palletTransportsDetailTable"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="零件号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partDesc" |
| | | label="零件描述" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="batchNo" |
| | | label="批次号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="batchNo" label="批次号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column prop="wdr" label="WDR" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="operationTaskNo" |
| | | label="工单" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="operationTaskNo" label="工单" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="transferQuantity" |
| | | label="移库数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="transferQuantity" label="移库数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="单位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fromIfsLocationNo" |
| | | label="IFS从库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="fromIfsLocationNo" label="IFS从库位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="toIfsLocationNo" |
| | | label="IFS至库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="toIfsLocationNo" label="移至库位" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-link |
| | | type="primary" |
| | | @click="openSingleLocationDialog(scope.row)" |
| | | >{{ scope.row.toIfsLocationNo }}</el-link |
| | | > |
| | | <el-link type="primary" @click="openSingleLocationDialog(scope.row)">{{ scope.row.toIfsLocationNo |
| | | }}</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="state" label="状态" align="center"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="85"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | @click="openEditStockDialog(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | @click="delDetail(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true" |
| | | >删除</el-button |
| | | > |
| | | <el-button type="text" @click="openEditStockDialog(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true">编辑</el-button> |
| | | <el-button type="text" @click="delDetail(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <pallettransportsFormDialog |
| | | :currshowlist.sync="showPallettransportsForm" |
| | | :palletTransportsId="palletTransportsId" |
| | | @refreshPalletTransports="getPallettransportsData" |
| | | /> |
| | | <pallettransportsFormDialog :currshowlist.sync="showPallettransportsForm" :palletTransportsId="palletTransportsId" |
| | | @refreshPalletTransports="getPallettransportsData" /> |
| | | <!-- 弹窗, 零件列表 --> |
| | | <partDialog |
| | | :currshowlist.sync="showPart" |
| | | @listenToPartEvent="selectPartCallback" |
| | | /> |
| | | <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPartCallback" /> |
| | | <!-- 弹窗, IFS库位列表 --> |
| | | <ifsLocationDialog |
| | | :currshowlist.sync="showLocation" |
| | | :transportsList="palletTransportsMaterialMultipleSelection" |
| | | @refreshDataList="selectLocationCallback" |
| | | /> |
| | | <ifsLocationDialog :currshowlist.sync="showLocation" :transportsList="palletTransportsMaterialMultipleSelection" |
| | | @refreshDataList="selectLocationCallback" /> |
| | | <!-- 弹窗, IFS库存列表 --> |
| | | <ifsStockDialog |
| | | :currshowlist.sync="showStock" |
| | | :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" |
| | | :optask="currOptask" |
| | | @refreshDataList="addIfsStockCallback" |
| | | /> |
| | | <ifsStockDialog :currshowlist.sync="showStock" :materialRow="materialRow" :transportsRow="currPalletTransportsRow" |
| | | :optask="currOptask" @refreshDataList="addIfsStockCallback" /> |
| | | <!-- 弹窗, 编辑IFS库存列表 --> |
| | | <detailIfsStockDialog |
| | | :currshowlist.sync="showDetailStock" |
| | | :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" |
| | | :detailRow="currDetailRow" |
| | | @refreshDataList="addIfsStockCallback" |
| | | /> |
| | | <detailIfsStockDialog :currshowlist.sync="showDetailStock" :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" :detailRow="currDetailRow" @refreshDataList="addIfsStockCallback" /> |
| | | <!-- 弹窗, 明细的IFS库位列表 --> |
| | | <detailIfsLocationDialog |
| | | :currshowlist.sync="showDetailLocation" |
| | | :detailList="detailList" |
| | | @refreshDataList="selectDetailLocationCallback" |
| | | /> |
| | | <detailIfsLocationDialog :currshowlist.sync="showDetailLocation" :detailList="detailList" |
| | | @refreshDataList="selectDetailLocationCallback" /> |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | |
| | | .pallet-transports-material-table >>> td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | |
| | | .pallet-transports-detail-table >>> td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | |
| | | .pallet-transports-optask-table >>> td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | | .optask-table-single-checkbox |
| | | >>> .el-checkbox__input.is-disabled.is-checked |
| | | .el-checkbox__inner { |
| | | |
| | | .optask-table-single-checkbox>>>.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { |
| | | background-color: #006eff; |
| | | border-color: #006eff; |
| | | } |
| | | .optask-table-single-checkbox |
| | | >>> .el-checkbox__input.is-disabled |
| | | .el-checkbox__inner { |
| | | |
| | | .optask-table-single-checkbox>>>.el-checkbox__input.is-disabled .el-checkbox__inner { |
| | | background-color: #ffffff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .optask-table-single-checkbox >>> .el-checkbox__inner::after { |
| | | border: 1px solid #fff !important; |
| | | border-left: 0 !important; |
| | |
| | | // const url = 'http://192.168.0.23:9999' |
| | | // const url = 'http://192.168.83.249:9999' |
| | | |
| | | // const url = 'http://192.168.0.60:9999' |
| | | const url = 'http://localhost:9999' |
| | | // const url = 'http://localhost:9999' |
| | | |
| | | // const url = 'http://ztt-gateway:9999' |
| | | const localUrl = 'http://localhost:8089' |