修改电子模板样式

dev-scheduling
jinna 4 weeks ago
parent 3c535077bb
commit bcb8643ac4
  1. 3
      package.json
  2. 2
      src/main.js
  3. 507
      src/views/qualityManagement/inspectionArchiving/ERecord/printDialog.vue
  4. 133659
      src/views/qualityManagement/inspectionArchiving/ERecord/printOrder.json
  5. 6
      src/views/qualityTemplate/Template1.vue
  6. 6
      src/views/qualityTemplate/Template10.vue
  7. 16
      src/views/qualityTemplate/Template11.vue
  8. 6
      src/views/qualityTemplate/Template12.vue
  9. 4
      src/views/qualityTemplate/Template13.vue
  10. 24
      src/views/qualityTemplate/Template14.vue
  11. 30
      src/views/qualityTemplate/Template15.vue
  12. 24
      src/views/qualityTemplate/Template16.vue
  13. 24
      src/views/qualityTemplate/Template17.vue
  14. 4
      src/views/qualityTemplate/Template18.vue
  15. 4
      src/views/qualityTemplate/Template19.vue
  16. 10
      src/views/qualityTemplate/Template2.vue
  17. 8
      src/views/qualityTemplate/Template20.vue
  18. 4
      src/views/qualityTemplate/Template21.vue
  19. 8
      src/views/qualityTemplate/Template22.vue
  20. 10
      src/views/qualityTemplate/Template3.vue
  21. 6
      src/views/qualityTemplate/Template4.vue
  22. 10
      src/views/qualityTemplate/Template5.vue
  23. 10
      src/views/qualityTemplate/Template6.vue
  24. 6
      src/views/qualityTemplate/Template7.vue
  25. 6
      src/views/qualityTemplate/Template8.vue
  26. 14
      src/views/qualityTemplate/Template9.vue

@ -32,12 +32,13 @@
"jspdf": "^3.0.4",
"nprogress": "^0.2.0",
"pinyin": "^4.0.0",
"tree-transfer-vue3": "^1.2.2",
"sm-crypto": "^0.3.13",
"tree-transfer-vue3": "^1.2.2",
"vue": "^3.5.13",
"vue-i18n": "^11.1.3",
"vue-router": "^4.3.2",
"vue3-clipboard": "^1.0.0",
"vue3-print-nb": "^0.1.4",
"vuex": "^4.1.0"
},
"devDependencies": {

@ -36,6 +36,7 @@ import tenantPackage from './views/system/tenantpackage.vue';
import tenantDatasource from './views/system/tenantdatasource.vue';
import * as echarts from 'echarts';
import 'virtual:svg-icons-register'
import print from 'vue3-print-nb'
// import print from 'vue3-print-nb' // 打印插件
@ -68,6 +69,7 @@ app.use(error);
app.use(i18n);
app.use(store);
app.use(router);
app.use(print)
// app.use(print)
app.use(ElementPlus, {
locale: messages[language],

@ -1,7 +1,8 @@
<template>
<el-dialog title="打印预览" append-to-body :modelValue="showPrint" fullscreen width="85%"
@close="closeDialog" :custom-class="isPrint ? 'noprint' : 'rbdyBox'">
<el-button @click="printData" type="primary" class="printButton no-print"> </el-button>
<!-- @click="printData" -->
<el-button v-print="printConfig" type="primary" class="printButton no-print"> </el-button>
<div v-loading="loading" id="printMe" ref="printContent" class="printBox">
<!-- <div class="printTitle">
<div style="text-align:left;">JONHON受控</div>
@ -11,135 +12,137 @@
<div class="printTitle">热表分厂质量记录卡</div>
<div class="tableNo">表号</div>
<table id="cus-table" cellspacing="0" style="width:100%">
<template v-if="checkedList[0] && modelOne!= null && modelOne.wo != null">
<!-- <tr>
<td>订单号</td>
<td colspan="4">{{ modelOne.wo.woCode || '/' }}</td>
<td>使用部门</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.useDept || '/' }}</td>
<td>单位</td>
<td colspan="2">3400</td>
</tr> -->
<template v-if="modelOne!= null && modelOne.dsPart!= null">
<tr>
<td colspan="1">零件号</td>
<td colspan="4">21E8-570-1122-L36</td>
<td colspan="2">{{modelOne.dsPart.partCode || '/'}}</td>
<td colspan="1">产品型号</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.productType || '/' }}</td>
<td colspan="2">{{ modelOne.dsPart.productType || '/' }}</td>
<td colspan="1">生产标识</td>
<td colspan="2">JHT</td>
<td colspan="2">{{modelOne.dsPart.prodIdent || '/'}}</td>
</tr>
<tr>
<td colspan="1">批次号</td>
<td colspan="4">Y1702506402</td>
<td colspan="2">{{modelOne.dsPart.batchNo || '/'}}</td>
<td colspan="1">名称</td>
<td colspan="3">Φ5.5焊杯插针</td>
<td colspan="2">{{modelOne.dsPart.partName || '/'}}</td>
<td colspan="1">数量</td>
<td colspan="2">{{ modelOne.wo.pjYieldOrder.poQty || '/' }}</td>
<td colspan="2">{{ modelOne.dsPart.qty || '/' }}</td>
</tr>
<tr>
<td colspan="1">硬度</td>
<td colspan="8">111</td>
<td colspan="5">{{modelOne.dsPart.hardness || '/'}}</td>
<td colspan="1">零件面积(dm²)</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.poArea || '/' }}</td>
<td colspan="2">{{ modelOne.dsPart.area || '/' }}</td>
</tr>
<tr>
<td colspan="1">镀种</td>
<td colspan="8">{{ modelOne.wo.pjYieldOrder.plate || '/' }}</td>
<td colspan="5">{{ modelOne.dsPart.plate || '/' }}</td>
<td colspan="1">材料</td>
<td colspan="3">{{ '' || '/' }}</td>
<td colspan="2">{{ modelOne.dsPart.material || '/' }}</td>
</tr>
<tr>
<td colspan="1">工艺路线</td>
<td colspan="11">{{ modelOne.wo.pjYieldOrder.primaryCraft || '/' }}</td>
<td colspan="8">{{ modelOne.dsPart.craftWay || '/' }}</td>
</tr>
<tr>
<td colspan="1">质量信息</td>
<td colspan="11">{{ ( modelOne.dsPart.cruxMemo? modelOne.dsPart.cruxMemo :'' +' '+ modelOne.dsPart.memo?modelOne.dsPart.memo:'') || '/' }}</td>
<td colspan="8">{{ modelOne.dsPart.keyInfo || '/' }}</td>
</tr>
</template>
<template v-if="modelTwo && modelTwo.length>0">
<tr>
<td colspan="12" style="font-size:21px;font-weight:550;">生产过程</td>
<td colspan="9" style="font-size:21px;">生产过程</td>
</tr>
<template v-for="(item,index) in modelTwo" >
<tr v-if="index != 0" style="height: 20px;"></tr>
<tr>
<td colspan="12" style="font-size:16px;font-weight:550;">
<td colspan="9" style="font-size:16px;">
{{item.orders}} - {{item.ppsName}} 工序详情
</td>
</tr>
<tr v-if="item.selfInspection && JSON.stringify(item.selfInspection) != '{}'">
<td colspan="1">自检</td>
<td colspan="5">{{item.selfInspection.content}}</td>
<td colspan="3">结论</td>
<td colspan="4">{{item.selfInspection.content}}</td>
<td colspan="1">结论</td>
<td colspan="3">{{item.selfInspection.conclusion}}</td>
</tr>
<tr>
<td colspan="6">工艺文件编号/版本号</td>
<td colspan="6">010-01796589/Q</td>
</tr>
<tr>
<td colspan="6">CPS文件编号/版本号</td>
<td colspan="6">/</td>
</tr>
<tr v-if="item.Hanger">
<template v-if="item.auditFile && JSON.stringify(item.auditFile) != '{}'">
<tr>
<td colspan="5">工艺文件编号/版本号</td>
<td colspan="4">{{item.auditFile.papers || '/'}}</td>
</tr>
<tr>
<td colspan="5">CPS文件编号/版本号</td>
<td colspan="4">{{item.auditFile.referenceFile || '/'}}</td>
</tr>
</template>
<tr v-if="(item.gjCode && !item.fbCode && !item.deviceCode) || item.fbCode">
<td colspan="1">操作者</td>
<td colspan="2">李新乐</td>
<td colspan="1">挂具编号</td>
<td colspan="2">GDAU</td>
<td colspan="3">检验员确认</td>
<td colspan="3">曹鹏飞/2025-06-28</td>
<td colspan="1">{{item.createMan || '/'}}</td>
<td colspan="1" v-if="item.gjCode && !item.fbCode && !item.deviceCode ">挂具编号</td>
<td colspan="1" v-if="item.gjCode && !item.fbCode && !item.deviceCode">{{item.gjCode || '/'}}</td>
<td colspan="1" v-if="item.fbCode">飞拔编号</td>
<td colspan="1" v-if="item.fbCode">{{item.fbCode || '/'}}</td>
<td colspan="1" v-if="item.procedureSet.ppsName=='荧光检测'">
{{ (item.procedureSet.ppsName.indexOf('检验') != -1 || item.procedureSet.ppsName == '镀后接收') ? '/' : '检验员确认' }}
</td>
<td colspan="4" v-if="item.procedureSet.ppsName=='荧光检测'">曹鹏飞/2025-06-28</td>
</tr>
<tr>
<td colspan="1">操作者</td>
<td colspan="5">李新乐</td>
<td colspan="3">检验员确认</td>
<td colspan="3">曹鹏飞/2025-06-28</td>
<tr v-else>
<td :colspan="!item.jyy ? '4' : '1'">操作者</td>
<td :colspan="!item.jyy ? '5' : '4'">{{item.createMan || '/'}}</td>
<td colspan="1" v-if="item.procedureSet.ppsName=='荧光检测'">
{{ (item.procedureSet.ppsName.indexOf('检验') != -1 || item.procedureSet.ppsName == '镀后接收') ? '/' : '检验员确认' }}
</td>
<td colspan="3" v-if="item.procedureSet.ppsName=='荧光检测'">曹鹏飞/2025-06-28</td>
</tr>
<tr v-if="item.deviceCode && item.deviceCode != ''">
<tr v-if="item.deviceCode && item.deviceCode != ''">
<td colspan="1">设备编号</td>
<td colspan="5">9652249</td>
<td colspan="3">有效期</td>
<td colspan="4">{{item.deviceCode || '/'}}</td>
<td colspan="1">有效期</td>
<td colspan="3"></td>
</tr>
<tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}">
<td colspan="12" >同槽信息</td>
<td colspan="9" >同槽信息</td>
</tr>
<tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}">
<tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}">
<td colspan="1">掺镀件面积(dm²)</td>
<td colspan="3">{{item.tankInfo.cdjArea}}</td>
<td colspan="1">陪镀件面积(dm²)</td>
<td colspan="2">{{item.tankInfo.cdjArea}}</td>
<td colspan="1">陪镀件面积(dm²)</td>
<td colspan="1">{{item.tankInfo.pdjArea}}</td>
<td colspan="1">挂具面积(dm²)</td>
<td colspan="4">{{item.tankInfo.cdjArea}}</td>
<td colspan="3">{{item.tankInfo.gjArea}}</td>
</tr>
<template v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {} && item.tankInfo.tankData && item.tankInfo.tankData.length != 0">
<template v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {} && item.tankInfo.slotList && item.tankInfo.slotList.length != 0">
<tr>
<td colspan="1">同槽编号</td>
<td colspan="3">零件号</td>
<td colspan="2">批次号</td>
<td colspan="2">零件号</td>
<td colspan="1">批次号</td>
<td>数量</td>
<td>生产标识</td>
<td>面积(dm²)</td>
<td colspan="2">总面积(dm²)</td>
</tr>
<tr v-for="(slot,index) in item.tankInfo.tankData">
<td v-if="index === 0" :rowspan="item.tankInfo.tankData.length">{{slot.slotNo}}</td>
<td colspan="3">{{slot.partCode}}</td>
<td colspan="2">{{slot.batchNo}}</td>
<td >{{slot.count || '/'}}</td>
<td >{{slot.count || '/'}}</td>
<td >{{slot.area || '/'}}</td>
<td v-if="index === 0" :rowspan="item.tankInfo.tankData.length" colspan="2">{{slot.totalArea || '/'}}</td>
<tr v-for="(slot,index) in item.tankInfo.slotList">
<td v-if="index === 0" :rowspan="item.tankInfo.slotList.length">{{slot.mtnCode || '/'}}</td>
<td v-if="!slot.cdj" colspan="2">{{slot.partCode || '/'}}</td>
<td v-if="!slot.cdj" colspan="1">{{slot.batchNo || '/'}}</td>
<td v-if="!slot.cdj" >{{slot.workQty || '/'}}</td>
<td v-if="!slot.cdj" >{{slot.prodIdent || '/'}}</td>
<td v-if="!slot.cdj" >{{slot.area || '/'}}</td>
<td v-if="slot.cdj" colspan="5">{{slot.cdj}}</td>
<td v-if="slot.cdj">{{slot.cdjArea}}</td>
<td v-if="index === 0" :rowspan="item.tankInfo.slotList.length" colspan="2">{{slot.sumArea || '/'}}</td>
</tr>
</template>
<template v-if="item.slotPosition && item.slotPosition.length != 0">
<template v-if="item.dsRbFilePreserveSlotList && item.dsRbFilePreserveSlotList.length>0">
<tr >
<td colspan="1">槽位/工步</td>
<td colspan="5">工艺要求</td>
<td colspan="5">实际参数</td>
<td colspan="4">工艺要求</td>
<td colspan="4">实际参数</td>
</tr>
<template v-for="(itemSlot, indexSlot) in item.slotPosition" :key="itemSlot.slotName + indexSlot">
<template v-for="(itemSlot, indexSlot) in item.dsRbFilePreserveSlotList" :key="itemSlot.slotName + indexSlot">
<component
:is="getTemplateComponent(itemSlot.rfpsType)"
:itemSlot="itemSlot"
@ -165,7 +168,7 @@
import {getWordDetail} from '@/api/qualityManagement/inspectionArchiving/eRecord'
import Templates from "@/views/qualityTemplate/index.js";
import { getTemplateComponent } from '@/utils/templateMapper.js';
import { exportEchartsToPdf } from '@/utils/exportPdf'; //
import printOrderJson from './printOrder.json';
export default {
props:{
showPrint: {
@ -202,6 +205,14 @@ export default {
// console.log(e, 5555);
// }
// },
printConfig :{
id: 'printMe',
extraCss: 'https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css',
extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>',
// preview: true,
},
dsPart:{},
modelOne: {
wo: { pjYieldOrder: {}},
checkList: [],
@ -225,12 +236,50 @@ export default {
{
orders: '0010',ppsName:'清洗',
deviceCode:"9652249",
slotPosition:[
qcProduceRunsList:[
// {
// insertIndex: "1",
// rfpsType: 2,
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2025/06/28 09:00:49"
// },
// {
// "rfpsId": "2",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2025/06/28 09:30:49"
// },
// {
// "rfpsId": "2",
// "detailName": "",
// "detailIndex": "1",
// "ask": "40~60",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "1",
// "paramValue": "55"
// },
// ]
// },
{
insertIndex: "1",
rfpsType: 2,
rfpsType:22,
// slotIndex: "1",
slotName: "超声波除油",
slotName: "自来水洗",
childrenList:[
{
"rfpsId": "1",
@ -240,50 +289,123 @@ export default {
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "开始",
"paramValue": "2025/06/28 09:00:49"
"paramValue": "2"
},
{
"rfpsId": "2",
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "结束",
"paramValue": "2025/06/28 09:30:49"
"paramName": "开始",
"paramValue": "2"
},
{
"rfpsId": "2",
"detailName": "温度(℃)",
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "40~60",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "参数名称1",
"paramValue": "55"
"paramName": "开始",
"paramValue": "2"
},
{
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "开始",
"paramValue": "2"
},
{
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "开始",
"paramValue": "2"
},
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
]
},
// {
// insertIndex: "1",
// rfpsType: 7,
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// ]
// },
// {
// insertIndex: "1",
// rfpsType: 1,
// // slotIndex: "1",
// slotName: "",
@ -393,7 +515,7 @@ export default {
deviceCode:"9652249",
tankInfo:{
cdjArea:0,
tankData:[
slotList:[
{
slotNo:"B- BD2025062814474772",
partCode:'21E8-570-1122-L36',
@ -420,16 +542,13 @@ export default {
created(){
console.log('check---------',this.checkedList)
console.log('printType---------',this.printType)
// if(this.printType == ''){
// console.log('checkList--------',this.checkedList)
// getWordDetail({
// woId:this.woId,
// moduleList:this.rbChecked,
// planList:this.checkedList
// }).then(res =>{
// console.log('res----------',res)
// })
// }
const { modelOne, modelTwo, modelThree, modelFour, modelFive } =
printOrderJson.data;
this.modelOne = modelOne
this.modelTwo = modelTwo
console.log('modelOne----------',this.modelOne)
console.log('modelTwo----------',this.modelTwo)
},
methods:{
getTemplateComponent(type) {
@ -438,11 +557,96 @@ export default {
},
printData(){
// exportEchartsToPdf('printMe','')
window.print()
// window.print()
const overflowInfo = this.checkPrintOverflow();
console.log('打印页数:', overflowInfo.pageCount);
if (overflowInfo.isOverflow) {
this.addPageBreaks();
}
window.print();
//
setTimeout(() => {
this.removePageBreaks();
}, 1000);
},
closeDialog(){
this.$emit('closeDialog');
},
// A4
checkPrintOverflow() {
const A4_HEIGHT = 297; // A4 (mm)
const PRINT_MARGIN = 20; // (mm)
// const AVAILABLE_HEIGHT = (A4_HEIGHT - PRINT_MARGIN) * 3.78; // (1mm 3.78px)
const AVAILABLE_HEIGHT = 880
console.log('AVA============',AVAILABLE_HEIGHT)
const printContent = this.$refs.printContent;
console.log('dom-----------',document.getElementById('printMe'))
console.log('hei-------',document.getElementById('printMe').offsetHeight)
console.log('prine---------',printContent)
if (!printContent) return false;
const contentHeight = printContent.scrollHeight;
const pageCount = Math.ceil(contentHeight / AVAILABLE_HEIGHT);
console.log('cont-------------',contentHeight)
console.log('pageCount-------------',pageCount)
return {
isOverflow: contentHeight > AVAILABLE_HEIGHT,
pageCount,
contentHeight,
availableHeight: AVAILABLE_HEIGHT
};
},
//
addPageBreaks() {
const A4_HEIGHT_PX = 1123; // A4 ( 297mm - 20mm )
const table = document.getElementById('cus-table');
if (!table) return;
const rows = table.querySelectorAll('tr');
let currentHeight = 0;
let page = 1;
rows.forEach((row, index) => {
const rowHeight = row.offsetHeight;
currentHeight += rowHeight;
//
if (currentHeight > A4_HEIGHT_PX * page && index > 0) {
row.style.pageBreakBefore = 'always';
page++;
//
this.insertPageBreakRow(table, row, page);
}
});
},
//
insertPageBreakRow(table, referenceRow, pageNum) {
const pageBreakRow = document.createElement('tr');
pageBreakRow.className = 'page-break-tip';
pageBreakRow.innerHTML = `
<td colspan="12" style="text-align:right;font-size:12px;color:#666;">
--- ${pageNum} ---
</td>
`;
referenceRow.parentNode.insertBefore(pageBreakRow, referenceRow);
},
//
removePageBreaks() {
const pageBreakTips = document.querySelectorAll('.page-break-tip');
pageBreakTips.forEach(tip => tip.remove());
const rows = document.querySelectorAll('#cus-table tr');
rows.forEach(row => {
row.style.pageBreakBefore = '';
});
},
}
}
</script>
@ -472,23 +676,31 @@ export default {
}
table {
tr {
width: 100%;
page-break-inside: avoid;
}
td {
width: 8.3%;
height: 30px;
border: 1px solid #000;
background: transparent;
color: #000;
font-size: 14px;
text-align: center;
padding: 0;
margin: 0;
tr {
width: 100%;
page-break-inside: avoid;
break-inside: avoid;
}
td {
width: 11.1%;
height: 30px;
border: 1px solid #000;
background: transparent;
color: #000;
font-size: 14px;
text-align: center;
padding: 0;
margin: 0;
}
//
.page-break-tip {
page-break-before: always;
break-before: always;
height: 20px;
border: none !important;
}
}
}
}
.fixTopLeft{
// position: fixed;
float: left;
@ -512,28 +724,41 @@ export default {
}
// @media print { @page { size:21cm 29.7cm } }
</style>
<style>
<style lang="scss">
@media print {
.no-print {
display: none !important;
}
/*
/* tr.avoid-break {
page-break-inside: avoid;
break-inside: avoid;
} */
.print-btn {
display: none !important;
}
/* 修复 Vue 3 中常见的打印问题:如果使用了 fixed 布局,打印时会消失或错位 */
/* .print-content {
position: static !important;
width: 100% !important;
} */
body {
margin: 0;
// padding: 20px;
// font-size: 12pt;
background: white !important;
}
/* body, #app, .your-container {
height: auto !important;
@page {
size: auto;
margin: 6mm;
}
.printBox {
width: 100% !important;
overflow: visible !important;
position: static !important;
} */
table {
width: 98% !important;
border-collapse: collapse;
tr {
page-break-inside: avoid;
break-inside: avoid;
}
}
}
}
</style>

@ -16,11 +16,11 @@
>
<tr>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
</template>

@ -7,9 +7,9 @@
<td v-if="itemSlot.slotIndex!==undefined" colspan="2">{{ itemSlot.slotIndex }}</td>
<td v-if="itemSlot.slotIndex!==undefined" colspan="2">{{ itemSlot.slotName }}</td>
<td v-else :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.qualified ? '合格' : '不合格' }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.qualified ? '合格' : '不合格' }}</td>
</tr>
</template>
<template v-else>

@ -12,20 +12,20 @@
key="itemSlot.slotName+indexSlot+indexChild+Math.floor(Math.random()*100000)+1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td :colspan="quality ? '5' : '4'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '4'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>

@ -9,9 +9,9 @@
</tr>
<template v-for="(itemChild, indexChild) in itemSlot.childrenList" :key="itemSlot.slotName+indexSlot+indexChild+Math.floor(Math.random()*100000)+1">
<tr >
<td v-if="indexChild ==0" :rowspan="3" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild ==0" :rowspan="3" colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild ==0" :rowspan="3" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild ==0" :rowspan="3" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
</template>

@ -15,8 +15,8 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '4' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>

@ -15,27 +15,27 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>

@ -12,32 +12,32 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td :colspan="quality ? '3' : '2'" >{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'" >{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3 || indexChild == 4">
<td v-if="indexChild == 3" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 3" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td v-if="indexChild == 3" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 3" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 5">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -12,27 +12,27 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -13,27 +13,27 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -12,8 +12,8 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '5' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemSlot.childrenList[0].paramValue }}</td>
<td :colspan="quality ? '4' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td :colspan="quality ? '4' : '5'">{{ itemSlot.childrenList[0].paramValue }}</td>
</tr>
</template>
</template>

@ -12,8 +12,8 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '4' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -12,16 +12,16 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '3'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -15,14 +15,14 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 3">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>

@ -11,8 +11,8 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '4' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -11,13 +11,13 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild == 0">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '4'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '4' : '4'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '5' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '4'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '4'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -9,15 +9,15 @@
</tr>
<template v-for="(itemChild, indexChild) in itemSlot.childrenList" :key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1">
<tr>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild > 1" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -12,9 +12,9 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -15,16 +15,16 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild == 0">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '7' : '4'" >{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '4'" >{{ itemChild.paramValue }}</td>
</tr>
<tr
v-else
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<td :colspan="quality ? '3' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '7' : '4'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '4'">{{ itemChild.paramValue }}</td>
</tr>
</template>

@ -15,16 +15,16 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 2">
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr
v-else
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '7' : '5'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -8,9 +8,9 @@
<td :rowspan="2" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<tr :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :colspan="quality ? '3' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td colspan="2">{{ itemSlot.childrenList[0].ask }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemSlot.childrenList[0].paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemSlot.childrenList[0].ask }}</td>
<td :colspan="quality ? '4' : '2'">{{ itemSlot.childrenList[0].paramValue }}</td>
</tr>
</template>
<template v-else>

@ -12,9 +12,9 @@
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

@ -14,17 +14,17 @@
v-if="indexChild <= 1"
>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '1' : '1'">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '4' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>

Loading…
Cancel
Save