修改电子模板样式

dev-scheduling
jinna 1 month ago
parent 3c535077bb
commit bcb8643ac4
  1. 3
      package.json
  2. 2
      src/main.js
  3. 447
      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", "jspdf": "^3.0.4",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinyin": "^4.0.0", "pinyin": "^4.0.0",
"tree-transfer-vue3": "^1.2.2",
"sm-crypto": "^0.3.13", "sm-crypto": "^0.3.13",
"tree-transfer-vue3": "^1.2.2",
"vue": "^3.5.13", "vue": "^3.5.13",
"vue-i18n": "^11.1.3", "vue-i18n": "^11.1.3",
"vue-router": "^4.3.2", "vue-router": "^4.3.2",
"vue3-clipboard": "^1.0.0", "vue3-clipboard": "^1.0.0",
"vue3-print-nb": "^0.1.4",
"vuex": "^4.1.0" "vuex": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {

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

@ -1,7 +1,8 @@
<template> <template>
<el-dialog title="打印预览" append-to-body :modelValue="showPrint" fullscreen width="85%" <el-dialog title="打印预览" append-to-body :modelValue="showPrint" fullscreen width="85%"
@close="closeDialog" :custom-class="isPrint ? 'noprint' : 'rbdyBox'"> @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 v-loading="loading" id="printMe" ref="printContent" class="printBox">
<!-- <div class="printTitle"> <!-- <div class="printTitle">
<div style="text-align:left;">JONHON受控</div> <div style="text-align:left;">JONHON受控</div>
@ -11,135 +12,137 @@
<div class="printTitle">热表分厂质量记录卡</div> <div class="printTitle">热表分厂质量记录卡</div>
<div class="tableNo">表号</div> <div class="tableNo">表号</div>
<table id="cus-table" cellspacing="0" style="width:100%"> <table id="cus-table" cellspacing="0" style="width:100%">
<template v-if="checkedList[0] && modelOne!= null && modelOne.wo != null"> <template v-if="modelOne!= null && modelOne.dsPart!= 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> -->
<tr> <tr>
<td colspan="1">零件号</td> <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="1">产品型号</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.productType || '/' }}</td> <td colspan="2">{{ modelOne.dsPart.productType || '/' }}</td>
<td colspan="1">生产标识</td> <td colspan="1">生产标识</td>
<td colspan="2">JHT</td> <td colspan="2">{{modelOne.dsPart.prodIdent || '/'}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="1">批次号</td> <td colspan="1">批次号</td>
<td colspan="4">Y1702506402</td> <td colspan="2">{{modelOne.dsPart.batchNo || '/'}}</td>
<td colspan="1">名称</td> <td colspan="1">名称</td>
<td colspan="3">Φ5.5焊杯插针</td> <td colspan="2">{{modelOne.dsPart.partName || '/'}}</td>
<td colspan="1">数量</td> <td colspan="1">数量</td>
<td colspan="2">{{ modelOne.wo.pjYieldOrder.poQty || '/' }}</td> <td colspan="2">{{ modelOne.dsPart.qty || '/' }}</td>
</tr> </tr>
<tr> <tr>
<td colspan="1">硬度</td> <td colspan="1">硬度</td>
<td colspan="8">111</td> <td colspan="5">{{modelOne.dsPart.hardness || '/'}}</td>
<td colspan="1">零件面积(dm²)</td> <td colspan="1">零件面积(dm²)</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.poArea || '/' }}</td> <td colspan="2">{{ modelOne.dsPart.area || '/' }}</td>
</tr> </tr>
<tr> <tr>
<td colspan="1">镀种</td> <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="1">材料</td>
<td colspan="3">{{ '' || '/' }}</td> <td colspan="2">{{ modelOne.dsPart.material || '/' }}</td>
</tr> </tr>
<tr> <tr>
<td colspan="1">工艺路线</td> <td colspan="1">工艺路线</td>
<td colspan="11">{{ modelOne.wo.pjYieldOrder.primaryCraft || '/' }}</td> <td colspan="8">{{ modelOne.dsPart.craftWay || '/' }}</td>
</tr> </tr>
<tr> <tr>
<td colspan="1">质量信息</td> <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> </tr>
</template> </template>
<template v-if="modelTwo && modelTwo.length>0"> <template v-if="modelTwo && modelTwo.length>0">
<tr> <tr>
<td colspan="12" style="font-size:21px;font-weight:550;">生产过程</td> <td colspan="9" style="font-size:21px;">生产过程</td>
</tr> </tr>
<template v-for="(item,index) in modelTwo" > <template v-for="(item,index) in modelTwo" >
<tr v-if="index != 0" style="height: 20px;"></tr> <tr v-if="index != 0" style="height: 20px;"></tr>
<tr> <tr>
<td colspan="12" style="font-size:16px;font-weight:550;"> <td colspan="9" style="font-size:16px;">
{{item.orders}} - {{item.ppsName}} 工序详情 {{item.orders}} - {{item.ppsName}} 工序详情
</td> </td>
</tr> </tr>
<tr v-if="item.selfInspection && JSON.stringify(item.selfInspection) != '{}'"> <tr v-if="item.selfInspection && JSON.stringify(item.selfInspection) != '{}'">
<td colspan="1">自检</td> <td colspan="1">自检</td>
<td colspan="5">{{item.selfInspection.content}}</td> <td colspan="4">{{item.selfInspection.content}}</td>
<td colspan="3">结论</td> <td colspan="1">结论</td>
<td colspan="3">{{item.selfInspection.conclusion}}</td> <td colspan="3">{{item.selfInspection.conclusion}}</td>
</tr> </tr>
<template v-if="item.auditFile && JSON.stringify(item.auditFile) != '{}'">
<tr> <tr>
<td colspan="6">工艺文件编号/版本号</td> <td colspan="5">工艺文件编号/版本号</td>
<td colspan="6">010-01796589/Q</td> <td colspan="4">{{item.auditFile.papers || '/'}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="6">CPS文件编号/版本号</td> <td colspan="5">CPS文件编号/版本号</td>
<td colspan="6">/</td> <td colspan="4">{{item.auditFile.referenceFile || '/'}}</td>
</tr> </tr>
<tr v-if="item.Hanger"> </template>
<tr v-if="(item.gjCode && !item.fbCode && !item.deviceCode) || item.fbCode">
<td colspan="1">操作者</td> <td colspan="1">操作者</td>
<td colspan="2">李新乐</td> <td colspan="1">{{item.createMan || '/'}}</td>
<td colspan="1">挂具编号</td> <td colspan="1" v-if="item.gjCode && !item.fbCode && !item.deviceCode ">挂具编号</td>
<td colspan="2">GDAU</td> <td colspan="1" v-if="item.gjCode && !item.fbCode && !item.deviceCode">{{item.gjCode || '/'}}</td>
<td colspan="3">检验员确认</td> <td colspan="1" v-if="item.fbCode">飞拔编号</td>
<td colspan="3">曹鹏飞/2025-06-28</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>
<tr> <tr v-else>
<td colspan="1">操作者</td> <td :colspan="!item.jyy ? '4' : '1'">操作者</td>
<td colspan="5">李新乐</td> <td :colspan="!item.jyy ? '5' : '4'">{{item.createMan || '/'}}</td>
<td colspan="3">检验员确认</td> <td colspan="1" v-if="item.procedureSet.ppsName=='荧光检测'">
<td colspan="3">曹鹏飞/2025-06-28</td> {{ (item.procedureSet.ppsName.indexOf('检验') != -1 || item.procedureSet.ppsName == '镀后接收') ? '/' : '检验员确认' }}
</td>
<td colspan="3" v-if="item.procedureSet.ppsName=='荧光检测'">曹鹏飞/2025-06-28</td>
</tr> </tr>
<tr v-if="item.deviceCode && item.deviceCode != ''"> <tr v-if="item.deviceCode && item.deviceCode != ''">
<td colspan="1">设备编号</td> <td colspan="1">设备编号</td>
<td colspan="5">9652249</td> <td colspan="4">{{item.deviceCode || '/'}}</td>
<td colspan="3">有效期</td> <td colspan="1">有效期</td>
<td colspan="3"></td> <td colspan="3"></td>
</tr> </tr>
<tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}"> <tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}">
<td colspan="12" >同槽信息</td> <td colspan="9" >同槽信息</td>
</tr> </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="1">掺镀件面积(dm²)</td>
<td colspan="3">{{item.tankInfo.cdjArea}}</td>
<td colspan="1">陪镀件面积(dm²)</td>
<td colspan="2">{{item.tankInfo.cdjArea}}</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="1">挂具面积(dm²)</td>
<td colspan="4">{{item.tankInfo.cdjArea}}</td> <td colspan="3">{{item.tankInfo.gjArea}}</td>
</tr> </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> <tr>
<td colspan="1">同槽编号</td> <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>生产标识</td> <td>生产标识</td>
<td>面积(dm²)</td> <td>面积(dm²)</td>
<td colspan="2">总面积(dm²)</td> <td colspan="2">总面积(dm²)</td>
</tr> </tr>
<tr v-for="(slot,index) in item.tankInfo.tankData"> <tr v-for="(slot,index) in item.tankInfo.slotList">
<td v-if="index === 0" :rowspan="item.tankInfo.tankData.length">{{slot.slotNo}}</td> <td v-if="index === 0" :rowspan="item.tankInfo.slotList.length">{{slot.mtnCode || '/'}}</td>
<td colspan="3">{{slot.partCode}}</td> <td v-if="!slot.cdj" colspan="2">{{slot.partCode || '/'}}</td>
<td colspan="2">{{slot.batchNo}}</td> <td v-if="!slot.cdj" colspan="1">{{slot.batchNo || '/'}}</td>
<td >{{slot.count || '/'}}</td> <td v-if="!slot.cdj" >{{slot.workQty || '/'}}</td>
<td >{{slot.count || '/'}}</td> <td v-if="!slot.cdj" >{{slot.prodIdent || '/'}}</td>
<td >{{slot.area || '/'}}</td> <td v-if="!slot.cdj" >{{slot.area || '/'}}</td>
<td v-if="index === 0" :rowspan="item.tankInfo.tankData.length" colspan="2">{{slot.totalArea || '/'}}</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> </tr>
</template> </template>
<template v-if="item.slotPosition && item.slotPosition.length != 0"> <template v-if="item.dsRbFilePreserveSlotList && item.dsRbFilePreserveSlotList.length>0">
<tr > <tr >
<td colspan="1">槽位/工步</td> <td colspan="1">槽位/工步</td>
<td colspan="5">工艺要求</td> <td colspan="4">工艺要求</td>
<td colspan="5">实际参数</td> <td colspan="4">实际参数</td>
</tr> </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 <component
:is="getTemplateComponent(itemSlot.rfpsType)" :is="getTemplateComponent(itemSlot.rfpsType)"
:itemSlot="itemSlot" :itemSlot="itemSlot"
@ -165,7 +168,7 @@
import {getWordDetail} from '@/api/qualityManagement/inspectionArchiving/eRecord' import {getWordDetail} from '@/api/qualityManagement/inspectionArchiving/eRecord'
import Templates from "@/views/qualityTemplate/index.js"; import Templates from "@/views/qualityTemplate/index.js";
import { getTemplateComponent } from '@/utils/templateMapper.js'; import { getTemplateComponent } from '@/utils/templateMapper.js';
import { exportEchartsToPdf } from '@/utils/exportPdf'; // import printOrderJson from './printOrder.json';
export default { export default {
props:{ props:{
showPrint: { showPrint: {
@ -202,6 +205,14 @@ export default {
// console.log(e, 5555); // 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: { modelOne: {
wo: { pjYieldOrder: {}}, wo: { pjYieldOrder: {}},
checkList: [], checkList: [],
@ -225,12 +236,50 @@ export default {
{ {
orders: '0010',ppsName:'清洗', orders: '0010',ppsName:'清洗',
deviceCode:"9652249", 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", insertIndex: "1",
rfpsType: 2, rfpsType:22,
// slotIndex: "1", // slotIndex: "1",
slotName: "超声波除油", slotName: "自来水洗",
childrenList:[ childrenList:[
{ {
"rfpsId": "1", "rfpsId": "1",
@ -240,36 +289,58 @@ export default {
"rfpdTime": "2026-3-6 18:36:44", "rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格", "qualified": "合格",
"paramName": "开始", "paramName": "开始",
"paramValue": "2025/06/28 09:00:49" "paramValue": "2"
},
{
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "开始",
"paramValue": "2"
}, },
{ {
"rfpsId": "2", "rfpsId": "1",
"detailName": "时间(min)", "detailName": "时间(min)",
"detailIndex": "1", "detailIndex": "1",
"ask": "20~40", "ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44", "rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格", "qualified": "合格",
"paramName": "结束", "paramName": "开始",
"paramValue": "2025/06/28 09:30:49" "paramValue": "2"
}, },
{ {
"rfpsId": "2", "rfpsId": "1",
"detailName": "温度(℃)", "detailName": "时间(min)",
"detailIndex": "1", "detailIndex": "1",
"ask": "40~60", "ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44", "rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格", "qualified": "合格",
"paramName": "参数名称1", "paramName": "开始",
"paramValue": "55" "paramValue": "2"
}, },
] {
"rfpsId": "1",
"detailName": "时间(min)",
"detailIndex": "1",
"ask": "20~40",
"rfpdTime": "2026-3-6 18:36:44",
"qualified": "合格",
"paramName": "开始",
"paramValue": "2"
}, },
// { // {
// insertIndex: "1", // "rfpsId": "1",
// rfpsType: 7, // "detailName": "min",
// // slotIndex: "1", // "detailIndex": "1",
// slotName: "", // "ask": "2040",
// childrenList:[ // "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// { // {
// "rfpsId": "1", // "rfpsId": "1",
// "detailName": "min", // "detailName": "min",
@ -280,9 +351,60 @@ export default {
// "paramName": "", // "paramName": "",
// "paramValue": "2" // "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", // insertIndex: "1",
// rfpsType: 1, // rfpsType: 1,
// // slotIndex: "1", // // slotIndex: "1",
@ -393,7 +515,7 @@ export default {
deviceCode:"9652249", deviceCode:"9652249",
tankInfo:{ tankInfo:{
cdjArea:0, cdjArea:0,
tankData:[ slotList:[
{ {
slotNo:"B- BD2025062814474772", slotNo:"B- BD2025062814474772",
partCode:'21E8-570-1122-L36', partCode:'21E8-570-1122-L36',
@ -420,16 +542,13 @@ export default {
created(){ created(){
console.log('check---------',this.checkedList) console.log('check---------',this.checkedList)
console.log('printType---------',this.printType) console.log('printType---------',this.printType)
// if(this.printType == ''){ const { modelOne, modelTwo, modelThree, modelFour, modelFive } =
// console.log('checkList--------',this.checkedList) printOrderJson.data;
// getWordDetail({ this.modelOne = modelOne
// woId:this.woId, this.modelTwo = modelTwo
// moduleList:this.rbChecked, console.log('modelOne----------',this.modelOne)
// planList:this.checkedList console.log('modelTwo----------',this.modelTwo)
// }).then(res =>{
// console.log('res----------',res)
// })
// }
}, },
methods:{ methods:{
getTemplateComponent(type) { getTemplateComponent(type) {
@ -438,11 +557,96 @@ export default {
}, },
printData(){ printData(){
// exportEchartsToPdf('printMe','') // 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(){ closeDialog(){
this.$emit('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> </script>
@ -475,9 +679,10 @@ export default {
tr { tr {
width: 100%; width: 100%;
page-break-inside: avoid; page-break-inside: avoid;
break-inside: avoid;
} }
td { td {
width: 8.3%; width: 11.1%;
height: 30px; height: 30px;
border: 1px solid #000; border: 1px solid #000;
background: transparent; background: transparent;
@ -487,7 +692,14 @@ export default {
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
} //
.page-break-tip {
page-break-before: always;
break-before: always;
height: 20px;
border: none !important;
}
}
} }
.fixTopLeft{ .fixTopLeft{
// position: fixed; // position: fixed;
@ -512,28 +724,41 @@ export default {
} }
// @media print { @page { size:21cm 29.7cm } } // @media print { @page { size:21cm 29.7cm } }
</style> </style>
<style> <style lang="scss">
@media print { @media print {
.no-print { .no-print {
display: none !important; display: none !important;
} }
/* .print-btn {
/* tr.avoid-break { display: none !important;
page-break-inside: avoid; }
break-inside: avoid;
} */
/* 修复 Vue 3 中常见的打印问题:如果使用了 fixed 布局,打印时会消失或错位 */ body {
/* .print-content { margin: 0;
position: static !important; // padding: 20px;
width: 100% !important; // font-size: 12pt;
} */ background: white !important;
}
@page {
size: auto;
margin: 6mm;
}
/* body, #app, .your-container { .printBox {
height: auto !important; width: 100% !important;
overflow: visible !important; overflow: visible !important;
position: static !important;
} */ table {
width: 98% !important;
border-collapse: collapse;
tr {
page-break-inside: avoid;
break-inside: avoid;
}
}
}
} }
</style> </style>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -9,15 +9,15 @@
</tr> </tr>
<template v-for="(itemChild, indexChild) in itemSlot.childrenList" :key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"> <template v-for="(itemChild, indexChild) in itemSlot.childrenList" :key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1">
<tr> <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" :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 == 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.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="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> </tr>
</template> </template>
</template> </template>

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

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

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

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

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

@ -14,17 +14,17 @@
v-if="indexChild <= 1" 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="2">{{ itemChild.ask }}</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 == 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.rfpdTime }}</td>
</tr> </tr>
<tr v-else> <tr v-else>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td> <td :colspan="quality ? '2' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</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> </tr>
</template> </template>
</template> </template>

Loading…
Cancel
Save