zouyu
2023-11-24 87ee25bcc236b70b0d22b2ff121f9552959d4873
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改15个文件
962 ■■■■ 文件已修改
public/title.css 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/warehouse/pallettransports.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/workReportCard.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/finishedProduct-form.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/finishedProducter-print.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/index.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/processInspect-form.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/pallettransports/detail-ifslocation-form.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/pallettransports/ifslocation-form.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/pallettransports/ifsstock-form.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/pallettransports/index.vue 409 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/title.css
@@ -1,4 +1,8 @@
@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;
@@ -1120,7 +1124,6 @@
        margin-left: 85px;
}
.bodycs{
    // margin-left: 135px;
   margin-top: -30px;
}
.bodycs-1{
@@ -1129,6 +1132,7 @@
        height: 60px;
        width: auto;
        margin-top: -80px;
    }
.bodycs-2{
    display: flex;
@@ -1191,7 +1195,10 @@
    margin-left: 130px;
}
.pagefooting{
    font-size:8pt;
    font-family:宋体;
    margin-right: 15pt;
    color: deepskyblue;
}
.x1111111{
    padding: 0px;
src/api/warehouse/pallettransports.js
@@ -46,6 +46,30 @@
  })
}
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',
@@ -56,6 +80,14 @@
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
  })
@@ -115,6 +147,14 @@
  })
}
export function updateBatchPalletTransportsCopy(obj) {
  return request({
    url: '/mes/palletTransportsMaterial/updateBatchPalletTransportsCopy',
    method: 'put',
    data: obj
  })
}
export function updateBatchPalletTransportsDetail(obj) {
  return request({
    url: '/mes/palletTransportsDetail/updateBatch',
src/views/product/workbench/workReportCard.vue
@@ -3270,8 +3270,8 @@
            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()
src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -14,9 +14,15 @@
    <div class="page-main">
        <div class="finishedProduct-basic">
            <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes"
            label-position="right" label-width="120px" style="width: 100%" size="small">
            label-position="right" label-width="120px" style="width: 100%"  size="small">
                <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"
@@ -35,6 +41,8 @@
                                    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"
@@ -45,8 +53,6 @@
                                </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"
@@ -65,6 +71,8 @@
                                    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="请输入数量"
@@ -241,6 +249,7 @@
            empiricalValueAddMaxNumber: 0,
            processInspectVo: {
                id: null,
                finInsNo: null,
                material: null,
                mcode: null,
                prname: null,
@@ -250,7 +259,8 @@
                quantity: null,
                specificationsModel: null,
                unit: null,
                technologyId: null
                technologyId: null,
                documentId: null
            },
            inspectionItems: [], // 新增检验项目表格
            inspectionResultForm: [],
@@ -339,6 +349,7 @@
            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
@@ -347,6 +358,7 @@
                    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()
@@ -424,6 +436,7 @@
            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 != '') {
@@ -454,6 +467,7 @@
        addTestProject() {
            let val = this.processInspectVo
            let data = {
                finInsNo: val.finInsNo,
                customerName: val.prname,
                material: val.material,
                materialCode: val.mcode,
@@ -462,6 +476,7 @@
                quantity: val.quantity,
                specs: val.specificationsModel,
                unit: val.unit,
                documentId: val.documentId
            }
            addFinish(data).then(res=>{
                let id = res.data.data
@@ -506,6 +521,7 @@
                    this.processInspectVo.material = null
                    this.processInspectVo.specificationsModel = null
                    this.processInspectVo.unit = null
                    this.processInspectVo.documentId = null
                }
            })
        },
@@ -542,7 +558,7 @@
  flex-wrap: wrap;
}
.finishedProduct-result {
basic.finishedProduct-result {
  width: 100%;
  height: 150px;
  padding: 10px 20px;
@@ -556,7 +572,7 @@
.finishedProduct-basic {
  background-color: #fff;
  height: 120px;
  height: 155px;
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
src/views/quality/finishedProductInspection/finishedProducter-print.vue
@@ -14,7 +14,7 @@
                </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'>
                        归档部门:质量保证部
@@ -36,7 +36,7 @@
                        </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'>
@@ -132,7 +132,7 @@
                </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>&nbsp;检验/时间:<span>{{tableData.createTime}}</span></p></td>
                    <p>&nbsp;检验/时间:<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> &nbsp;审批:<span>{{username}}</span></p></td>
                </tr>
@@ -171,9 +171,9 @@
                    </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">
@@ -197,6 +197,12 @@
                        <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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                        </div>
                    <div>
                        <div class="chilen">
                        <p ><span class="x1111113">批  准:<br>&nbsp;&nbsp;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> 
@@ -212,8 +218,6 @@
                        <div>
                        <br>
                        <br>
                        <br>
                        <br><br><br>
                        <span
                            style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                        </div>
@@ -230,7 +234,7 @@
                </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>      
@@ -257,7 +261,7 @@
                            <span class=x1111112 >Test  &nbsp; 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>
@@ -287,7 +291,7 @@
                            style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>            
@@ -304,58 +308,71 @@
                    </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>
                        <span style="font-size:12pt;font-family:宋体;margin-right: 70pt;">ZHONGTIAN TECHNOLOGY MARINE SYSTEMS Co.,LTD.</span>
                    </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  &nbsp; Report</span>
                            <span class=x1111112 style="margin-left: 335px">页次:3/8<br> Page</span>
                            </div>
                            <span class=x1111112 >Test  &nbsp; 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>
                        <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;">&nbsp;{{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:黑体">&nbsp;<br>设备型号:{{ ela.specifications }}<br>&nbsp;Model</span></p>
                                    <p style="padding-left: 100px;"><span style="font-size:12pt;font-family:黑体">&nbsp;<br>设备编号:{{ ela.code}}<br>Serial No.</span></p>
                                    <p style="margin-left: 110px;"><span style="font-size:12pt;font-family:黑体">&nbsp;<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 class="bodycs" style="margin-top: 80px;">
                        <p class=x1111112><span>{{iname}}<br>
                    <div style="display: flex;margin-top: 60px;">
                        <p ><span><span class=x1111112 style="margin-left: 40px;">2.参考标准Reference standards</span>
                            <!-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            <br>本次检测所依据的技术文件(代号、名称):<br>Reference documents for this testing&nbsp;&nbsp;&nbsp;&nbsp; -->
                        </span></p>
                        <div  class="bodycs-1" style="margin-top: 10px;">
                            <p  style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">1.测试设备<br>&nbsp;设备名称<br>Name of Equipment</span></p>
                            <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体">&nbsp;<br>设备型号<br>&nbsp;Model</span></p>
                            <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体">&nbsp;<br>设备编号<br>Serial No.</span></p>
                            <p style="margin-left: 150px;"><span style="font-size:12pt;font-family:黑体">&nbsp;<br>校准有效期<br>Calibration Due Date</span></p>
                        </div>
                        <div>
                        <p style=" border-top: 1px solid black;width: 96%;margin-top: 20px;"></p>
                        </div>
                    </div>
                    <div style="margin-top: 100px;display: flex;">
                        <p  style="margin-left: 40px;"><span style="font-size:12pt;font-family:黑体">2.参考标准Reference standards&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>本次检测所依据的技术文件(代号、名称):<br>Reference documents for this testing&nbsp;&nbsp;&nbsp;&nbsp;</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>
@@ -367,7 +384,7 @@
                </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>            
@@ -393,7 +410,7 @@
                            <span class=x1111112 >Test  &nbsp; 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>
@@ -402,20 +419,20 @@
                        <p class="x1111113" ><span style="font-size 40pt;display: flex;margin-top: 40px;margin-left: 40px;;font-family:黑体">6.测试结果Test result:</span></p>
                    </div>
                    <div>
                        <table border="2px" style="width: 800px;height: 100px;margin-top: 10px;">
                        <table border="2px" style="width: 800px;height: 100px;margin-top: 10px;" >
                            <tr style="height: 80px;">
                                <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>
                                <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>   
@@ -445,7 +462,7 @@
                </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>            
@@ -471,7 +488,7 @@
                            <span class=x1111112 >Test  &nbsp; 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>
@@ -523,7 +540,7 @@
                        style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>            
src/views/quality/finishedProductInspection/index.vue
@@ -73,14 +73,22 @@
                    data: [],
                    // 标题
                    column: [
                         {
                            minWidth: '120',
                            prop: 'finInsNo',
                            label: '产品检验编号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text',
                            render: { fun: this.addOrUpdateHandle }
                        },
                        {
                            minWidth: '120',
                            prop: 'orderNumber',
                            label: '订单号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text',
                            render: { fun: this.addOrUpdateHandle }
                            searchInfoType: 'text'
                        },
                        {
                            minWidth: '120',
@@ -218,10 +226,11 @@
                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'
src/views/quality/processInspect/index.vue
@@ -56,8 +56,8 @@
                    column: [
                        {
                            minWidth: '120',
                            prop: 'orderNumber',
                            label: '订单编号',
                            prop: 'proInsNo',
                            label: '过程检验编号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text',
@@ -65,6 +65,14 @@
                        },
                        {
                            minWidth: '120',
                            prop: 'orderNumber',
                            label: '订单编号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text'
                        },
                        {
                            minWidth: '120',
                            prop: 'material',
                            label: '产品名称',
                            isTrue: true,
src/views/quality/processInspect/processInspect-form.vue
@@ -18,6 +18,12 @@
                    <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" />
@@ -40,14 +46,15 @@
                                        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"
@@ -64,8 +71,6 @@
                                        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"
@@ -249,6 +254,7 @@
            empiricalValueAddMaxNumber: 0,
            processInspectVo: {
                id: null,
                proInsNo: null,
                material: null,
                materialCode: null,
                orderNumber: "ZTTIC20230001",
@@ -352,6 +358,7 @@
            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
src/views/quality/rawMaterial/index.vue
@@ -95,8 +95,8 @@
                column: [
                    {
                        minWidth: '120',
                        prop: 'code',
                        label: '原材料编码',
                        prop: 'rawInsNo',
                        label: '原材料检验编号',
                        isTrue: true,
                        isSearch: true,
                        searchInfoType: 'text',
@@ -104,6 +104,14 @@
                    },
                    {
                        minWidth: '120',
                        prop: 'code',
                        label: '原材料编码',
                        isTrue: true,
                        isSearch: true,
                        searchInfoType: 'text'
                    },
                    {
                        minWidth: '120',
                        prop: 'projectName',
                        label: '项目名称',
                        isTrue: true,
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -21,6 +21,12 @@
        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
@@ -49,13 +55,13 @@
                </el-date-picker>
                </el-form-item>
            </el-col>
            <el-col :span="6">
            </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>
                <el-col :span="6">
                    <el-form-item prop="unit" label="单位">
                        <el-input
@@ -74,15 +80,15 @@
                      <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 />
@@ -349,6 +355,7 @@
      // 确认回调
      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
@@ -519,6 +526,7 @@
        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
src/views/warehouse/pallettransports/detail-ifslocation-form.vue
@@ -23,7 +23,7 @@
      </div>
      <div style="display:flex;align-items:center;margin-left:10px;">
        <div>
          <span>库位描述:</span>
          <span>库位名称:</span>
        </div>
        <div>
          <el-input
@@ -56,25 +56,32 @@
        </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
      >
@@ -92,7 +99,7 @@
  </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: {},
@@ -124,19 +131,20 @@
    // 查询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
            }
          })
@@ -168,8 +176,8 @@
      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)
src/views/warehouse/pallettransports/ifslocation-form.vue
@@ -23,7 +23,7 @@
      </div>
      <div style="display:flex;align-items:center;margin-left:10px;">
        <div>
          <span>库位描述:</span>
          <span>库位名称:</span>
        </div>
        <div>
          <el-input
@@ -56,29 +56,39 @@
        </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>
@@ -92,10 +102,12 @@
  </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,
@@ -108,39 +120,66 @@
      }
    }
  },
  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);
      })
    },
    // 单行选中
@@ -165,11 +204,12 @@
    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)
src/views/warehouse/pallettransports/ifsstock-form.vue
@@ -1,93 +1,34 @@
<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
        ? ''
        : 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">
@@ -97,12 +38,7 @@
    </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>
@@ -177,18 +113,18 @@
                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
@@ -262,9 +198,16 @@
            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,
@@ -282,10 +225,10 @@
              } else {
                this.$message.error('添加移库明细失败')
              }
              this.isSubmit = false
              this.isSubmit = true
            })
            .catch(() => {
              this.isSubmit = false
              this.isSubmit = true
            })
        } else {
          this.$message.error('请选择IFS库存物料')
@@ -295,7 +238,7 @@
        this.isSubmit = false
      }
    },
    initData() {}
    initData() { }
  },
  watch: {
    currshowlist() {
@@ -318,14 +261,18 @@
                    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
                  })
@@ -333,6 +280,7 @@
              }
            }
          })
          console.log(`output->this.ifsStockData`,this.ifsStockData)
        })
      }
    }
@@ -343,9 +291,11 @@
.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;
}
src/views/warehouse/pallettransports/index.vue
@@ -3,321 +3,142 @@
    <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;"
                >({{
                  palletTransportsMaterialMultipleSelection.length > 0
                    ? palletTransportsMaterialMultipleSelection[
                        palletTransportsMaterialMultipleSelection.length - 1
                      ].partDesc
                    : ''
                }})</span
              >
              <span style="font-weight:bold;">移库明细</span><span style="color:red;">({{
                palletTransportsMaterialMultipleSelection.length > 0
                ? palletTransportsMaterialMultipleSelection[
                  palletTransportsMaterialMultipleSelection.length - 1
                ].partDesc
                : ''
              }})</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">
                <template slot-scope="scope">
                  <span>{{
                    scope.row.state == null
                      ? ''
                      : scope.row.state === '01initial'
                    ? ''
                    : scope.row.state === '01initial'
                      ? '已创建'
                      : '已执行'
                  }}</span>
@@ -325,18 +146,10 @@
              </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>
@@ -344,44 +157,22 @@
        </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>
@@ -552,7 +343,7 @@
  computed: {
    ...mapGetters(['permissions'])
  },
  created() {},
  created() { },
  methods: {
    // 工艺类型中文格式化
    formatStateType(row, column, cellValue) {
@@ -666,7 +457,7 @@
        closeOnClickModal: false,
        type: 'warning'
      })
        .then(function() {
        .then(function () {
          return delPalletTransportsObj(row.id)
        })
        .then((data) => {
@@ -675,7 +466,7 @@
          this.palletTransportsMaterialData = []
          this.palletTransportsDetailData = []
        })
        .catch(() => {})
        .catch(() => { })
    },
    // 打开零件列表
    openPartDialog() {
@@ -951,57 +742,59 @@
}
</script>
<style scoped>
.pallet-transports-material-table >>> .el-table__header th {
.pallet-transports-material-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-material-table >>> th {
.pallet-transports-material-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-material-table >>> td {
.pallet-transports-material-table>>>td {
  padding: 1px 0 0 0;
}
.pallet-transports-detail-table >>> .el-table__header th {
.pallet-transports-detail-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-detail-table >>> th {
.pallet-transports-detail-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-detail-table >>> td {
.pallet-transports-detail-table>>>td {
  padding: 1px 0 0 0;
}
.pallet-transports-optask-table >>> .el-table__header th {
.pallet-transports-optask-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-optask-table >>> th {
.pallet-transports-optask-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-optask-table >>> td {
.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 {
.optask-table-single-checkbox>>>.el-checkbox__inner::after {
  border: 1px solid #fff !important;
  border-left: 0 !important;
  border-top: 0 !important;
  cursor: pointer !important;
}
</style>
</style>
vue.config.js
@@ -5,8 +5,7 @@
// 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'