电子档案热表模板书写及接口联调

dev-scheduling
jinna 4 weeks ago
parent 128fa58f03
commit ebc3fead79
  1. 29
      src/api/qualityManagement/inspectionArchiving/eRecord.js
  2. 9
      src/views/productionTesting/components/trialStandard.vue
  3. 278
      src/views/qualityManagement/inspectionArchiving/ERecord/index.vue
  4. 320
      src/views/qualityManagement/inspectionArchiving/ERecord/printDialog.vue
  5. 18
      src/views/qualityTemplate/Template1.vue
  6. 12
      src/views/qualityTemplate/Template10.vue
  7. 24
      src/views/qualityTemplate/Template11.vue
  8. 12
      src/views/qualityTemplate/Template12.vue
  9. 8
      src/views/qualityTemplate/Template13.vue
  10. 28
      src/views/qualityTemplate/Template14.vue
  11. 32
      src/views/qualityTemplate/Template15.vue
  12. 28
      src/views/qualityTemplate/Template16.vue
  13. 28
      src/views/qualityTemplate/Template17.vue
  14. 10
      src/views/qualityTemplate/Template18.vue
  15. 10
      src/views/qualityTemplate/Template19.vue
  16. 22
      src/views/qualityTemplate/Template2.vue
  17. 18
      src/views/qualityTemplate/Template20.vue
  18. 10
      src/views/qualityTemplate/Template21.vue
  19. 16
      src/views/qualityTemplate/Template22.vue
  20. 20
      src/views/qualityTemplate/Template3.vue
  21. 10
      src/views/qualityTemplate/Template4.vue
  22. 14
      src/views/qualityTemplate/Template5.vue
  23. 14
      src/views/qualityTemplate/Template6.vue
  24. 10
      src/views/qualityTemplate/Template7.vue
  25. 12
      src/views/qualityTemplate/Template8.vue
  26. 20
      src/views/qualityTemplate/Template9.vue

@ -0,0 +1,29 @@
import request from '@/axios';
// 电子档案
// 查询列表
export const getList = (params) =>{
return request({
url:'/api/blade-desk/QA/InspectionTask/queryWorkOrder',
method:'get',
params
})
}
// 工序查询
export const getProcessList = (params) =>{
return request({
url:'/api/blade-desk/QA/InspectionTask/correspondingProcess',
method:'get',
params
})
}
// 热表打印数据
export const getWordDetail = (data) =>{
return request({
url:'/api/blade-desk/QA/InspectionTask/newPagePrint',
method:'post',
data
})
}

@ -68,6 +68,7 @@
<!-- </el-upload> -->
<el-upload
class="upload-demo"
:headers="headers"
action="/api/blade-resource/oss/endpoint/put-file-attach"
:on-remove="(file, fileList) => handleRemove(response, file, scope.$index)"
:on-success="(response, file, fileList) => handleSuccess(response, file, fileList,scope.$index)"
@ -96,6 +97,7 @@
</template>
<script>
import { getToken } from '@/utils/auth';
import {getList,addStandard,editStandard,deleteStandard,getDetail} from '@/api/productionInspection/trialStandard'
export default {
data() {
@ -105,6 +107,10 @@ export default {
form: {},
showDialog: false,
tidList: [],
//
headers: {
"Blade-Auth": "",
}, //
rowId: null, //id
projectArr: [],
deleteTidArr: [], //
@ -208,6 +214,9 @@ export default {
fileList:[],
}
},
created() {
this.headers["Blade-Auth"] = "bearer " + getToken();
},
mounted() {
},

@ -20,7 +20,7 @@
@on-load="onLoad"
>
<template #menu="{ row }">
<span v-if="row.pjYieldOrder.yieldType === 1">
<span v-if="row.yieldType !== 1">
<el-button type="text" @click="inspectionRecord(row)">检验记录</el-button>
<el-button type="text" @click="rbPrint(row,2)">热表打印</el-button>
</span>
@ -29,7 +29,7 @@
</span>
<el-button type="text" @click="handleDelete">测厚打印</el-button>
</template>
<template #category="{ row }">
<!-- <template #category="{ row }">
<el-tag>{{ row.categoryName }}</el-tag>
</template>
<template #partCode="{row}">
@ -67,7 +67,7 @@
</template>
<template #nextTsName="{row}">
<span>{{ row.nextMakeTeam.tsName }}</span>
</template>
</template> -->
</avue-crud>
<el-dialog title="选择模块" append-to-body v-model="previewOpen" width="450px">
<el-form ref="form" label-width="80px" class="vd-form-row" v-if="dialogType == 1">
@ -106,12 +106,14 @@
</span>
</template>
</el-dialog>
<print-dialog v-if="showPrint" :show-print="showPrint" :checked-list="checkedList" @closeDialog="closeDialog"></print-dialog>
<print-dialog v-if="showPrint" :show-print="showPrint" :rbChecked="rbChecked" :checked-list="checkedList"
:printType="printType" :woId="checkWoId"
@closeDialog="closeDialog"></print-dialog>
</basic-container>
</template>
<script>
import { getList, getDetail, add, update, remove } from '@/api/system/post';
import {getList,getProcessList} from "@/api/qualityManagement/inspectionArchiving/eRecord.js"
import { mapGetters } from 'vuex';
import website from '@/config/website';
import printDialog from './printDialog.vue';
@ -195,7 +197,7 @@ export default {
},
{
label: '零件号',
prop: 'proNo',
prop: 'partCode',
addDisplay: false,
editDisplay: false,
hide:true,
@ -212,7 +214,7 @@ export default {
},
{
label: '产品号',
prop: 'partCode',
prop: 'prodCode',
addDisplay: false,
editDisplay: false,
span: 24,
@ -501,7 +503,7 @@ export default {
// },
{
label: '加工班组',
prop: 'tsName',
prop: 'mainProcessingUnit',
addDisplay: false,
editDisplay: false,
span: 24,
@ -517,7 +519,7 @@ export default {
},
{
label: '完工时间',
prop: 'tsName',
prop: 'finishDate',
addDisplay: false,
editDisplay: false,
span: 24,
@ -531,22 +533,22 @@ export default {
},
],
},
{
label: '上传兰台时间',
prop: 'tsName',
addDisplay: false,
editDisplay: false,
span: 24,
search:false,
width:200,
rules: [
{
required: true,
message: '请输入上传兰台时间',
trigger: 'click',
},
],
},
// {
// label: '',
// prop: 'tsName',
// addDisplay: false,
// editDisplay: false,
// span: 24,
// search:false,
// width:200,
// rules: [
// {
// required: true,
// message: '',
// trigger: 'click',
// },
// ],
// },
// {
// label: '',
// prop: 'ppsName',
@ -708,7 +710,9 @@ export default {
prWorkPlanList:[],
dialogType:1,
prWorkChecked:[],
rbChecked:[true,true,true,true]
rbChecked:[true,false,false,false],
printType:'',
checkWoId:''
};
},
computed: {
@ -724,6 +728,7 @@ export default {
methods: {
submitPrint(){
this.previewOpen = false
this.printType = '热表'
this.showPrint = true
},
printPreview(val,type){
@ -735,22 +740,28 @@ export default {
this.showPrint = false
this.previewOpen = false
},
rbPrint(val,type){
rbPrint(row,type){
this.dialogType = type
this.prWorkPlanList = [
{orders:'0005',procedureSet:{ppsName:'上挂'}},
{orders:'0010',procedureSet:{ppsName:'化学镀镍'}},
{orders:'0015',procedureSet:{ppsName:'下挂'}},
{orders:'0020',procedureSet:{ppsName:'交检'}},
{orders:'0025',procedureSet:{ppsName:'镀后检验'}},
{orders:'0030',procedureSet:{ppsName:'镀后接收'}},
]
this.checkedList = []
for(let i = 0;i<this.prWorkPlanList.length;i++){
this.checkedList.push(true)
}
this.previewOpen = true
this.prWorkPlanList = []
this.checkWoId = '2019646268865155074'
// getProcessList({
// woId:'2019646268865155074'
// }).then(res =>{
// console.log('res==========',res)
// res.data.data.forEach(ele =>{
// this.prWorkPlanList.push({
// orders:ele.ppsCode,
// procedureSet:{
// ppsName:ele.ppsName
// }
// })
// })
// this.checkedList = []
// for(let i = 0;i<this.prWorkPlanList.length;i++){
// this.checkedList.push(true)
// }
this.previewOpen = true
// })
},
inspectionRecord(row){
console.log('row=============',row)
@ -790,95 +801,106 @@ export default {
},
onLoad(page, params = {}) {
this.loading = true;
this.data = [
{
index:0,
id:'1',
woCode:'WO-S23041025-R01',
pjYieldOrder:{
partCode:'21E8-004-4791-E9',
productType:'XXXX',
partName:'矩形插座壳体',
plate:'XXX',
prodIdent:'JHT',
useDept:'制造五部',
poArea:'2.4025137427',
planUser:'王一冉',
yieldType:1,
},
batchNo:'Y3772304266',
cardNo:'1016818631',
priorityTitle:'正常',
makeQty:'35',
demandDate:'2024-01-22',
createTime:'2023-04-13 13:17:15',
planEndDate:'2023-04-17 13:17:15',
inventoryQty:'23',
notInQty:'10',
pickingStatusTitle:'已领取',
runStatusTitle:'加工中',
makeTeam:{
tsName:'化学镀镍一班郭家梁'
},
procedureSet:{
ppsName:'化学镀镍',
},
nextProcedureSet:{
ppsName:'下挂',
},
nextMakeTeam:{
tsName:'化学镀镍一班郭家梁',
}
},
{
index:1,
id:'2',
woCode:'WO-S23041025-R02',
pjYieldOrder:{
partCode:'21E8-004-4791-E9',
productType:'XXXX',
partName:'矩形插座壳体',
plate:'XXX',
prodIdent:'JHT',
useDept:'制造五部',
poArea:'2.4025137427',
planUser:'王一冉',
yieldType:1,
},
batchNo:'Y5982208950-1',
cardNo:'1016818631',
priorityTitle:'正常',
makeQty:'35',
demandDate:'2024-01-22',
createTime:'2023-04-13 13:17:15',
planEndDate:'2023-04-17 13:17:15',
inventoryQty:'23',
notInQty:'10',
pickingStatusTitle:'已领取',
runStatusTitle:'加工中',
makeTeam:{
tsName:'化学镀镍一班郭家梁'
},
procedureSet:{
ppsName:'化学镀镍',
},
nextProcedureSet:{
ppsName:'下挂',
},
nextMakeTeam:{
tsName:'化学镀镍一班郭家梁',
}
},
]
// getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
// const data = res.data.data;
this.page.total = this.data.length;
// this.data = data.records;
getList({
current:this.page.currentPage,
size:this.page.pageSize,
...params,
}).then(res => {
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false;
}).catch(err => {
this.loading = false;
setTimeout(() =>{
this.selectionClear();
})
// this.data = [
// {
// index:0,
// id:'1',
// woCode:'WO-S23041025-R01',
// pjYieldOrder:{
// partCode:'21E8-004-4791-E9',
// productType:'XXXX',
// partName:'',
// plate:'XXX',
// prodIdent:'JHT',
// useDept:'',
// poArea:'2.4025137427',
// planUser:'',
// yieldType:1,
// },
// batchNo:'Y3772304266',
// cardNo:'1016818631',
// priorityTitle:'',
// makeQty:'35',
// demandDate:'2024-01-22',
// createTime:'2023-04-13 13:17:15',
// planEndDate:'2023-04-17 13:17:15',
// inventoryQty:'23',
// notInQty:'10',
// pickingStatusTitle:'',
// runStatusTitle:'',
// makeTeam:{
// tsName:''
// },
// procedureSet:{
// ppsName:'',
// },
// nextProcedureSet:{
// ppsName:'',
// },
// nextMakeTeam:{
// tsName:'',
// }
// },
// {
// index:1,
// id:'2',
// woCode:'WO-S23041025-R02',
// pjYieldOrder:{
// partCode:'21E8-004-4791-E9',
// productType:'XXXX',
// partName:'',
// plate:'XXX',
// prodIdent:'JHT',
// useDept:'',
// poArea:'2.4025137427',
// planUser:'',
// yieldType:2,
// },
// batchNo:'Y5982208950-1',
// cardNo:'1016818631',
// priorityTitle:'',
// makeQty:'35',
// demandDate:'2024-01-22',
// createTime:'2023-04-13 13:17:15',
// planEndDate:'2023-04-17 13:17:15',
// inventoryQty:'23',
// notInQty:'10',
// pickingStatusTitle:'',
// runStatusTitle:'',
// makeTeam:{
// tsName:''
// },
// procedureSet:{
// ppsName:'',
// },
// nextProcedureSet:{
// ppsName:'',
// },
// nextMakeTeam:{
// tsName:'',
// }
// },
// ]
// // getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
// // const data = res.data.data;
// this.page.total = this.data.length;
// // this.data = data.records;
// this.loading = false;
// setTimeout(() =>{
// this.selectionClear();
},500)
// },500)
// });
},
},

@ -1,7 +1,7 @@
<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" :class="isPrint ? 'no-print' : ''"> </el-button>
<el-button @click="printData" 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>
@ -21,94 +21,130 @@
<td colspan="2">3400</td>
</tr> -->
<tr>
<td colspan="2">零件号</td>
<td colspan="2">21E8-570-1122-L36</td>
<td colspan="2">产品型号</td>
<td colspan="2">{{ modelOne.wo.pjYieldOrder.productType || '/' }}</td>
<td colspan="2">生产标识</td>
<td colspan="1">JHT</td>
<td colspan="1">零件号</td>
<td colspan="4">21E8-570-1122-L36</td>
<td colspan="1">产品型号</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.productType || '/' }}</td>
<td colspan="1">生产标识</td>
<td colspan="2">JHT</td>
</tr>
<tr>
<td colspan="2">批次号</td>
<td colspan="2">Y1702506402</td>
<td colspan="2">名称</td>
<td colspan="2">Φ5.5焊杯插针</td>
<td colspan="2">数量</td>
<td colspan="1">{{ modelOne.wo.pjYieldOrder.poQty || '/' }}</td>
<tr>
<td colspan="1">批次号</td>
<td colspan="4">Y1702506402</td>
<td colspan="1">名称</td>
<td colspan="3">Φ5.5焊杯插针</td>
<td colspan="1">数量</td>
<td colspan="2">{{ modelOne.wo.pjYieldOrder.poQty || '/' }}</td>
</tr>
<tr>
<!-- <td>材料</td>
<td colspan="4">{{ modelOne.dsPart.material || '/' }}</td> -->
<td colspan="2">硬度</td>
<td colspan="6">111</td>
<td colspan="2">零件面积(dm²)</td>
<td colspan="1">{{ modelOne.wo.pjYieldOrder.poArea || '/' }}</td>
<!-- <td>设备编码</td>
<td colspan="2">{{ '' || '/' }}</td> -->
<tr>
<td colspan="1">硬度</td>
<td colspan="8">111</td>
<td colspan="1">零件面积(dm²)</td>
<td colspan="3">{{ modelOne.wo.pjYieldOrder.poArea || '/' }}</td>
</tr>
<tr>
<td colspan="2">镀种</td>
<td colspan="6">{{ modelOne.wo.pjYieldOrder.plate || '/' }}</td>
<td colspan="2">材料</td>
<td colspan="1">{{ '' || '/' }}</td>
<tr>
<td colspan="1">镀种</td>
<td colspan="8">{{ modelOne.wo.pjYieldOrder.plate || '/' }}</td>
<td colspan="1">材料</td>
<td colspan="3">{{ '' || '/' }}</td>
</tr>
<tr>
<td colspan="2">工艺路线</td>
<td colspan="9">{{ modelOne.wo.pjYieldOrder.primaryCraft || '/' }}</td>
<tr>
<td colspan="1">工艺路线</td>
<td colspan="11">{{ modelOne.wo.pjYieldOrder.primaryCraft || '/' }}</td>
</tr>
<tr>
<td colspan="2">质量信息</td>
<td colspan="9">{{ ( modelOne.dsPart.cruxMemo? modelOne.dsPart.cruxMemo :'' +' '+ modelOne.dsPart.memo?modelOne.dsPart.memo:'') || '/' }}</td>
<td colspan="1">质量信息</td>
<td colspan="11">{{ ( modelOne.dsPart.cruxMemo? modelOne.dsPart.cruxMemo :'' +' '+ modelOne.dsPart.memo?modelOne.dsPart.memo:'') || '/' }}</td>
</tr>
</template>
<template v-if="modelTwo && modelTwo.length>0">
<template v-if="modelTwo && modelTwo.length>0">
<tr>
<td colspan="11" style="font-size:21px;font-weight:550;">生产过程</td>
<td colspan="12" style="font-size:21px;font-weight:550;">生产过程</td>
</tr>
<template v-for="(item,index) in modelTwo" >
<tr v-if="index != 0" style="height: 20px;"></tr>
<tr>
<td colspan="11" style="font-size:16px;font-weight:550;">
<td colspan="12" style="font-size:16px;font-weight:550;">
{{item.orders}} - {{item.ppsName}} 工序详情
</td>
</tr>
<tr v-if="item.selfInspection && JSON.stringify(item.selfInspection) != '{}'">
<td colspan="2">自检</td>
<td colspan="6">{{item.selfInspection.content}}</td>
<td colspan="2">结论</td>
<td colspan="1">{{item.selfInspection.conclusion}}</td>
<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="3">{{item.selfInspection.conclusion}}</td>
</tr>
<tr>
<td colspan="5">工艺文件编号/版本号</td>
<td colspan="6">工艺文件编号/版本号</td>
<td colspan="6">010-01796589/Q</td>
</tr>
<tr>
<td colspan="5">CPS文件编号/版本号</td>
<td colspan="6">CPS文件编号/版本号</td>
<td colspan="6">/</td>
</tr>
<tr>
<td colspan="2">操作者</td>
<td :colspan="item.Hanger ? '2' : '1'">李新乐</td>
<tr v-if="item.Hanger">
<td colspan="1">操作者</td>
<td colspan="2">李新乐</td>
<td colspan="1">挂具编号</td>
<td colspan="1">GDAU</td>
<td colspan="2">检验员确认</td>
<td colspan="2">GDAU</td>
<td colspan="3">检验员确认</td>
<td colspan="3">曹鹏飞/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>
<tr v-if="item.deviceCode && item.deviceCode != ''">
<td colspan="1">设备编号</td>
<td colspan="5">9652249</td>
<td colspan="3">有效期</td>
<td colspan="3"></td>
</tr>
<tr v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {}">
<td colspan="12" >同槽信息</td>
</tr>
<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="4">{{item.tankInfo.cdjArea}}</td>
</tr>
<template v-if="item.tankInfo && JSON.stringify(item.tankInfo) != {} && item.tankInfo.tankData && item.tankInfo.tankData.length != 0">
<tr>
<td colspan="1">同槽编号</td>
<td colspan="3">零件号</td>
<td colspan="2">批次号</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>
</template>
<template v-if="item.slotPosition && item.slotPosition.length != 0">
<tr >
<td colspan="3">槽位/工步</td>
<td colspan="1">槽位/工步</td>
<td colspan="5">工艺要求</td>
<td colspan="7">实际参数</td>
<td colspan="5">实际参数</td>
</tr>
<!-- <tr v-for="slot in item.slotPosition" :key="slot.id">
<td>{{slot.slotName}}</td>
</tr> -->
<template v-for="(itemSlot, indexSlot) in item.slotPosition" :key="itemSlot.slotName + indexSlot">
<component
:is="getTemplateComponent(itemSlot.rfpsType)"
:itemSlot="itemSlot"
:indexSlot="indexSlot"
:quality="true"
/>
</template>
</template>
@ -118,6 +154,7 @@
</template>
</table>
</div>
@ -125,6 +162,7 @@
</template>
<script>
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'; //
@ -138,6 +176,18 @@ export default {
type: Array,
default: () => []
},
printType:{
type:String,
default:''
},
woId:{
type:String,
default:''
},
rbChecked:{
type:Array,
default:() =>[]
}
},
components: {
...Templates,
@ -169,15 +219,17 @@ export default {
modelTwo: [
{
orders: '0005',ppsName:'上挂',
Hanger:true,
selfInspection:{content:"零件表面无油污、锈蚀、磕碰伤、划痕等缺陷",conclusion:"合格"}
},
{
orders: '0010',ppsName:'清洗',
deviceCode:"9652249",
slotPosition:[
{
insertIndex: "1",
rfpsType: 2,
slotIndex: "1",
// slotIndex: "1",
slotName: "超声波除油",
childrenList:[
{
@ -215,14 +267,14 @@ export default {
// {
// insertIndex: "1",
// rfpsType: 7,
// slotIndex: "1",
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "1-3",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
@ -232,8 +284,8 @@ export default {
// },
// {
// insertIndex: "1",
// rfpsType: 2,
// slotIndex: "1",
// rfpsType: 1,
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
@ -244,55 +296,141 @@ 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": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2025/06/28 09:30:49"
// "paramName": "",
// "paramValue": "2"
// },
// ]
// },
// {
// insertIndex: "1",
// rfpsType: 8,
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "",
// "paramValue": "2"
// },
// {
// "rfpsId": "2",
// "detailName": "",
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "40~60",
// "ask": "2040",
// "rfpdTime": "2026-3-6 18:36:44",
// "qualified": "",
// "paramName": "1",
// "paramValue": "55"
// "paramName": "",
// "paramValue": "2"
// },
// ]
// },
// {
// insertIndex: "1",
// rfpsType: 7,
// slotIndex: "1",
// slotName: "",
// rfpsType: 3,
// // slotIndex: "1",
// slotName: "",
// childrenList:[
// {
// "rfpsId": "1",
// "detailName": "min",
// "detailIndex": "1",
// "ask": "1-3",
// "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"
// },
// ]
// },
// }
]
},
{
orders: '0020',ppsName:'挂镀金',
deviceCode:"9652249",
tankInfo:{
cdjArea:0,
tankData:[
{
slotNo:"B- BD2025062814474772",
partCode:'21E8-570-1122-L36',
batchNo:'Y1702506402'
},
{
slotNo:"B- BD2025062814474772",
partCode:'21E8-570-1122-L37',
batchNo:'Y1702506402'
},
{
slotNo:"B- BD2025062814474772",
partCode:'21E8-570-1122-L38',
batchNo:'Y1702506402',
}
]
},
}
],
modelThree: { checkList: [], procedureSet: {}},
modelFour: { procedureSet: {}, prWorkOrder: { pjYieldOrder: {}}},
}
},
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)
// })
// }
},
methods:{
getTemplateComponent(type) {
const componentName = getTemplateComponent(type);
@ -315,9 +453,6 @@ export default {
margin-right: 8px;
margin-top: 16px;
&.no-print{
display: none;
}
}
.printBox {
width: 100%;
@ -342,7 +477,7 @@ export default {
page-break-inside: avoid;
}
td {
width: 9%;
width: 8.3%;
height: 30px;
border: 1px solid #000;
background: transparent;
@ -355,7 +490,8 @@ export default {
}
}
.fixTopLeft{
position: absolute;
// position: fixed;
float: left;
top: 1;
left: 0;
font-family: 'SimHei';
@ -365,7 +501,8 @@ export default {
@media print {
.noprint, .no-print{
/* 隐藏不需要打印的元素:按钮、导航栏、侧边栏等 */
.no-print, header, footer, .sidebar, button {
display: none !important;
}
@page {
@ -375,3 +512,28 @@ export default {
}
// @media print { @page { size:21cm 29.7cm } }
</style>
<style>
@media print {
.no-print {
display: none !important;
}
/*
/* tr.avoid-break {
page-break-inside: avoid;
break-inside: avoid;
} */
/* 修复 Vue 3 中常见的打印问题:如果使用了 fixed 布局,打印时会消失或错位 */
/* .print-content {
position: static !important;
width: 100% !important;
} */
/* body, #app, .your-container {
height: auto !important;
overflow: visible !important;
position: static !important;
} */
}
</style>

@ -7,7 +7,7 @@
<td rowspan="3" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="3" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="3" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
@ -16,12 +16,12 @@
>
<tr>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<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.ask }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
</template>
</template>
@ -51,6 +51,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -6,10 +6,10 @@
>
<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="4">{{ itemSlot.slotName }}</td>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.qualified ? '合格' : '不合格' }}</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>
</tr>
</template>
<template v-else>
@ -40,6 +40,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {

@ -5,28 +5,28 @@
<td rowspan="5" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="5" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="5" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
key="itemSlot.slotName+indexSlot+indexChild+Math.floor(Math.random()*100000)+1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td colspan="4">{{ itemChild.detailName }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '4'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '6' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -68,6 +68,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,14 +5,14 @@
<td rowspan="4" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="4" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="4" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</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="2">{{ itemChild.detailName }}</td>
<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>{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
</template>
</template>
@ -48,6 +48,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -8,14 +8,14 @@
<td rowspan="11" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="11" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="11" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -77,6 +77,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -8,33 +8,33 @@
<td rowspan="13" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="13" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="13" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td>{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -111,6 +111,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,38 +5,38 @@
<td rowspan="15" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="15" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="15" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'" >{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3 || indexChild == 4">
<td v-if="indexChild == 3" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 5">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td>{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -121,6 +121,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,33 +5,33 @@
<td rowspan="17" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="17" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="17" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td>{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -120,6 +120,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -6,33 +6,33 @@
<td rowspan="9" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="9" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="9" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else-if="indexChild == 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else-if="indexChild == 3">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td>{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '2' : '1'">{{ itemChild.paramName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -94,6 +94,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,15 +5,15 @@
<td rowspan="2" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="2" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="2" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemSlot.childrenList[0].detailName }}</td>
<td colspan="5">{{ itemSlot.childrenList[0].paramValue }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemSlot.childrenList[0].paramValue }}</td>
</tr>
</template>
</template>
@ -38,6 +38,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,15 +5,15 @@
<td rowspan="13" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="13" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="13" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -78,6 +78,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,23 +5,23 @@
<td rowspan="4" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="4" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="4" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 1">
<td v-if="indexChild == 0" rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" rowspan="2" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild == 0">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td colspan="2">{{ itemChild.rfpdTime }}</td>
<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.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 :colspan="quality ? '3' : '3'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -59,6 +59,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -8,21 +8,21 @@
<td rowspan="9" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="9" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="9" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 3">
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.rfpdTime }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -86,6 +86,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -4,15 +4,15 @@
<td rowspan="11" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="11" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="11" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -27,6 +27,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -4,20 +4,20 @@
<td rowspan="6" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="6" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="6" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild == 0">
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="4">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '2' : '2'">{{ itemChild.ask }}</td>
<td :colspan="quality ? '5' : '4'">{{ itemChild.paramValue }}</td>
</tr>
<tr v-else>
<td colspan="3">{{ itemChild.detailName }}</td>
<td colspan="4">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '5' : '4'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -32,6 +32,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,19 +5,19 @@
<td rowspan="5" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="5" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="5" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</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="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild > 1" colspan="2">{{ itemChild.detailName }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td v-if="indexChild > 1" colspan="2">{{ itemChild.ask }}</td>
<td v-if="indexChild > 1" colspan="3">{{ itemChild.paramValue }}</td>
<td v-if="indexChild > 1" :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -60,6 +60,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,16 +5,16 @@
<td rowspan="4" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="4" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="4" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -54,6 +54,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -8,23 +8,23 @@
<td rowspan="6" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="6" colspan="4">{{ itemSlot.slotName }}</td>
<td rowspan="6" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild == 0">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="4">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '7' : '4'" >{{ itemChild.paramValue }}</td>
</tr>
<tr
v-else
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<td colspan="3">{{ itemChild.detailName }}</td>
<td colspan="4">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '3' : '3'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '7' : '4'">{{ itemChild.paramValue }}</td>
</tr>
</template>
@ -69,6 +69,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -8,23 +8,23 @@
<td rowspan="7" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="7" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="7" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr v-if="indexChild <= 2">
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
<tr
v-else
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<td colspan="2">{{ itemChild.detailName }}</td>
<td colspan="5">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '7' : '5'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -74,6 +74,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,12 +5,12 @@
<td rowspan="2" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="2" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="2" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<tr :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td colspan="2">{{ itemSlot.childrenList[0].detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemSlot.childrenList[0].detailName }}</td>
<td colspan="2">{{ itemSlot.childrenList[0].ask }}</td>
<td colspan="3">{{ itemSlot.childrenList[0].paramValue }}</td>
<td :colspan="quality ? '5' : '2'">{{ itemSlot.childrenList[0].paramValue }}</td>
</tr>
</template>
<template v-else>
@ -35,6 +35,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -1,20 +1,20 @@
<template>
<template v-if="itemSlot.style !== '固定'">
<tr v-if="itemSlot.slotIndex!==undefined" :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td rowspan="3" colspan="2">{{ itemSlot.slotIndex }}</td>
<td rowspan="3" colspan="2">{{ itemSlot.slotIndex }}</td>
<td rowspan="3" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="3" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="3" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template
v-for="(itemChild, indexChild) in itemSlot.childrenList"
:key="itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1"
>
<tr>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -44,6 +44,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

@ -5,7 +5,7 @@
<td rowspan="6" colspan="2">{{ itemSlot.slotName }}</td>
</tr>
<tr v-else :key="itemSlot.slotName + indexSlot + Math.floor(Math.random() * 100000) + 1">
<td :rowspan="6" colspan="4">{{ itemSlot.slotName }}</td>
<td :rowspan="6" :colspan="quality ? '1' : '4'">{{ itemSlot.slotName }}</td>
</tr>
<template v-for="(itemChild, indexChild) in itemSlot.childrenList" :key="
itemSlot.slotName + indexSlot + indexChild + Math.floor(Math.random() * 100000) + 1
@ -14,17 +14,17 @@
v-if="indexChild <= 1"
>
<td v-if="indexChild == 0" :rowspan="2" colspan="2">{{ itemChild.detailName }}</td>
<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">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 0" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 1">{{ itemChild.paramName }}</td>
<td v-if="indexChild == 1" colspan="2">{{ itemChild.rfpdTime }}</td>
<td v-if="indexChild == 0" :colspan="quality ? '2' : '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 ? '3' : '2'">{{ itemChild.rfpdTime }}</td>
</tr>
<tr v-else>
<td colspan="2">{{ itemChild.detailName }}</td>
<td :colspan="quality ? '3' : '2'">{{ itemChild.detailName }}</td>
<td colspan="2">{{ itemChild.ask }}</td>
<td colspan="3">{{ itemChild.paramValue }}</td>
<td :colspan="quality ? '5' : '3'">{{ itemChild.paramValue }}</td>
</tr>
</template>
</template>
@ -70,6 +70,10 @@ export default {
type: Number,
default: 0,
},
quality:{
type: Boolean,
default: false
}
},
data() {
return {};

Loading…
Cancel
Save