王震
2023-11-16 1f9c32908a68eef81f549b6986a9bc1f05056108
src/views/quality/rawMaterial/rawMaterial-print.vue
@@ -71,19 +71,19 @@
                style="width:620pt;border-collapse:collapse;border:1pt solid windowtext">
                <tbody>
                    <tr>
                        <td width="121" colspan="2" style="width:110pt;border:solid windowtext 1.0pt;padding:0.2cm 1.4pt 0.2cm 1.4pt">
                        <td width="121" colspan="2" style="width:120pt;height:50pt;border:solid windowtext 1.0pt;padding:1pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-size:9.0pt;font-family:宋体">零件名称</span></p>
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">Part Description</span>
                            </p>
                        </td>
                        <td width="127" colspan="4" style="width:95.5pt;border:solid windowtext 1.0pt;border-left:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                        <td width="127" colspan="5" style="width:95.5pt;border:solid windowtext 1.0pt;border-left:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center">
                                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif" v-text="tableData.name"></span>
                            </p>
                        </td>
                        <td width="113" colspan="4" style="width:84.95pt;border:solid windowtext 1.0pt;border-left:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                        <td width="113" colspan="3" style="width:84.95pt;border:solid windowtext 1.0pt;border-left:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-size:9.0pt;font-family:宋体">型</span><span lang="EN-US"
                                    style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">&nbsp;&nbsp;&nbsp;
@@ -107,18 +107,18 @@
                        </td>
                    </tr>
                    <tr>
                        <td width="101" colspan="2" style="width:110pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.2cm 1.4pt 0.2cm 1.4pt">
                        <td width="101" colspan="2" style="width:110pt;height:50pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.2cm 1.4pt 0.2cm 1.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-size:9.0pt;font-family:宋体">检验仪器</span></p>
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">Inspection
                                    instrument</span></p>
                        </td>
                        <td width="127" colspan="4" style="width:95.5pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                        <td width="127" colspan="5" style="width:95.5pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif" v-text="deviceStr"></span></p>
                        </td>
                        <td width="113" colspan="4" style="width:84.95pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                        <td width="113" colspan="3" style="width:84.95pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-size:9.0pt;font-family:宋体">检验数量</span></p>
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
@@ -163,20 +163,20 @@
                        </td>
                    </tr>
                    <tr>
                        <td width="145" colspan="3" style="width:109.1pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.4cm 5.4pt 0.4cm 5.4pt">
                        <td width="145" colspan="3" style="width:109.1pt;height:40pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.4cm 5.4pt 0.4cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-size:9.0pt;font-family:宋体">技术要求</span></p>
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">Technical
                                    Requirement</span></p>
                        </td>
                        <td width="59" colspan="2" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 4.4pt 0.2cm 4.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center">
                        <td width="59" colspan="3" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 4.4pt 0.2cm 4.4pt">
                            <div class="MsoNormal" align="center" style="text-align:center">
                                <span style="font-size:9.0pt;font-family:宋体">公差</span>
                                <span lang="EN-US" style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">TOL</span>
                            </p>
                                <p lang="EN-US" style="font-size:9.0pt;text-align: center;font-family:&quot;Arial&quot;,sans-serif">TOL</p>
                            </div>
                        </td>
                        <td width="43" v-for="(item,index) in 13" :key="index" colspan="1" style="width:32.2pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                        <td width="43" v-for="(item,index) in columnLength" :key="index" colspan="1" style="width:32.2pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-size:9.0pt;font-family:&quot;Arial&quot;,sans-serif">{{item>9?item:'0'+item}}</span></p>
                        </td>
@@ -184,7 +184,7 @@
                </tbody>
                <tbody v-for="(item,index) in projectList" :key="index">
                    <tr style="height:19.85pt">
                        <td width="85" rowspan="16" style="width:63.95pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                        <td width="85" :rowspan="item.children.length" style="width:63.95pt;border:solid windowtext 1.0pt;border-top:1pt solid windowtext;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span
                                    style="font-family:宋体" v-text="item.rpFather"></span></p>
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
@@ -194,7 +194,7 @@
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif" v-text="item.children[0].rpName"></span></p>
                        </td>
                        <td width="59" colspan="2" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                        <td width="59" colspan="3" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif"  v-text="item.children[0].required"></span></p>
                        </td>
@@ -202,11 +202,13 @@
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">{{val}}</span></p>
                        </td>
                        <td width="74" style="width:55.8pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                            <p v-if="item.children[0].testState==1" class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                        <td width="74" style="width:70pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.1cm 2.4pt 0.1cm 2.4pt;height:19.85pt">
                            <p v-if="item.children[0].testState=='1'" class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">合格</span></p>
                            <p v-else class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                            <p v-if="item.children[0].testState=='0'" class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">不合格</span></p>
                            <p v-else class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif"></span></p>
                        </td>
                    </tr>
                    <tr style="height:19.85pt" v-for="(j,index) in (item.children.slice(1))" :key="index">
@@ -215,7 +217,7 @@
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">{{j.rpName}}</span></p>
                        </td>
                        <td width="59" colspan="2" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                        <td width="59" colspan="3" style="width:44.4pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">{{j.required}}</span></p>
                        </td>
@@ -223,9 +225,12 @@
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">{{testValue}}</span></p>
                        </td>
                        <td width="43" colspan="1" style="width:32.2pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.2cm 5.4pt 0.2cm 5.4pt;height:19.85pt">
                            <p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US"
                                    style="font-family:&quot;Arial&quot;,sans-serif">&nbsp;</span></p>
                        <td width="43" colspan="1" style="width:70pt;border-top:1pt solid windowtext;border-left:1pt solid windowtext;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0.1cm 2.4pt 0.1cm 2.4pt;height:19.85pt">
                            <p class="MsoNormal" align="center" style="text-align:center">
                                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif">
                                    {{ j.testState | formatState}}
                                </span>
                            </p>
                        </td>
                    </tr>
                </tbody>
@@ -337,6 +342,21 @@
            projectList: [],
            deviceStr: null,
            childrenData: [],
            columnLength: 12,
        }
    },
    filters:{
        formatState(state){
            if(state){
                if(state == "1"){
                    return "合格"
                }
                if(state == "0"){
                    return "不合格"
                }
                return null
            }
            return null
        }
    },
    methods:{
@@ -361,28 +381,30 @@
                            required: '',
                            rpName: '',
                            rpUnit: '',
                            testState: '',
                            testState: null,
                            userName: '',
                            testValueList: new Array(13)
                            testValueList: new Array(this.columnLength)
                        }
            let rowNum = 15
            let columnNum = this.columnLength
            if(list && list.length<2){
                list.forEach(item=>{
                    if(item.children && item.children.length < 15){
                        let size = 15 - item.children.length
                    if(item.children && item.children.length < rowNum){
                        rowNum-=item.children.length
                        for(let j=0;j<item.children.length;j++){
                            let arr = []
                            if(item.children[j].testValue){
                                arr = item.children[j].testValue.split(",")
                            }
                            item.children[j].testValueList = arr
                            if(item.children[0].testValueList.length<13){
                                let num = 13 - item.children[j].testValueList.length
                            if(item.children[0].testValueList.length< columnNum ){
                                let num = columnNum - item.children[j].testValueList.length
                                for(let i=0;i<num;i++){
                                    item.children[j].testValueList.push("")
                                }
                            }
                        }
                        for(let i=0;i< size;i++){
                        for(let i=0;i< rowNum;i++){
                            item.children.push(data)
                        }
                    }
@@ -392,30 +414,39 @@
                list.forEach(item=>{
                    if(item.children){
                        size+=item.children.length
                        item.children.forEach(obj=>{
                            if(obj.testValue){
                                let testValueList = obj.testValue.split(",")
                                obj.testValueList = testValueList
                                if(testValueList.length < columnNum){
                                    let len = columnNum-testValueList.length
                                    for(var i=0;i<len;i++){
                                        obj.testValueList.push("")
                                    }
                                }
                            }
                        })
                    }
                })
                if(size<15){
                    let num = 15 - size
                if(size < rowNum){
                    let num = rowNum - size
                    for(let i=0;i<num;i++){
                        list[list.length-1].children.push(data)
                    }
                }
            }
            // this.projectList = list
            console.log("list----",list)
            this.projectList = list
        }
    },
    created(){
        this.tableData = this.formData
        this.initData()
        this.initProjectList(this.projectList)
        console.log("aa--",this.tableData)
    },
    watch:{
        formData(newVal){
            if(newVal){
                this.projectList = []
                console.log(newVal)
                this.tableData = newVal
                this.initData()
                this.initProjectList(this.projectList)