报表添加筛选字段、调整补片流程卡样式、修改报工修改的逻辑
| | |
| | | list.value = deepClone(res.data.data) |
| | | const data = produceList.value[0].value |
| | | dataList = JSON.parse(`[${data}]`); |
| | | console.log(switchType) |
| | | if (switchType===true){ |
| | | labelList = props.titleList |
| | | }else { |
| | |
| | | <td></td> |
| | | <td></td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | <tr style="height: 14px"> |
| | | <td v-for="(itemsum,index) in item.detail" :key="index" colspan="29"> |
| | | 数量: |
| | |
| | | </tr> |
| | | <tr v-if="company.remarkSwitch=='1'"> |
| | | <td colspan="29"> |
| | | <div style="display: flex;flex-wrap: wrap;"> |
| | | <div v-for="(itemremark,index) in item.remarkList" :key="index"> |
| | | <div style="display: flex;flex-wrap: wrap;"> |
| | | <div class="nuber_xx" v-for="(itemremark,index) in item.remarkList" :key="index"> |
| | | <span v-if="!(itemremark.S02==null&&itemremark.S03==null&&itemremark.S04==null&&itemremark.S05==null)"> |
| | | 编号:{{itemremark.S01}} |
| | | </span> |
| | | <span v-if="itemremark.S02!=null">备注1:{{itemremark.S02}}</span> |
| | | <span v-if="itemremark.S03!=null">备注2:{{itemremark.S03}}</span> |
| | | <span v-if="itemremark.S04!=null">备注3:{{itemremark.S04}}</span> |
| | | <span v-if="itemremark.S05!=null">备注4:{{itemremark.S05}}</span> |
| | | </div> |
| | | </div> |
| | | <span v-if="itemremark.S02!=null">备注1:{{itemremark.S02}}</span> |
| | | <span v-if="itemremark.S03!=null">备注2:{{itemremark.S03}}</span> |
| | | <span v-if="itemremark.S04!=null">备注3:{{itemremark.S04}}</span> |
| | | <span v-if="itemremark.S05!=null">备注4:{{itemremark.S05}}</span> |
| | | </div> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | |
| | | <tr v-for="(itemtextareas,index) in item.detail" :key="index"> |
| | | <td colspan="29" style="width: 480px;height: 150px "> |
| | | <div style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea> |
| | |
| | | background: none; |
| | | } |
| | | |
| | | |
| | | .nuber_xx span{ |
| | | font-size: 12px; |
| | | } |
| | | |
| | | |
| | | @media print { |
| | |
| | | <table v-for="(item,id) in produceList" id="contentTable" :key="id"> |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="33"> |
| | | <td colspan="34"> |
| | | <div style="float: left;">补片单号:{{itemFlow.patch_id}}</div> |
| | | <div id="bj" style="float: right;font-size: 28px">补 {{ id + 1 }}</div> |
| | | <div>{{ company.companyName }}</div> |
| | |
| | | <td class="tdNowrap">项目名称:</td> |
| | | <td colspan="8">{{ items.project }}</td> |
| | | <td class="tdNowrap">工艺流程:</td> |
| | | <td colspan="20" style="width: 500px">{{ items.process }}</td> |
| | | <td colspan="21" style="width: 500px">{{ items.process }}</td> |
| | | </tr> |
| | | <tr v-for="(itemTr,index) in item.detail" :key="index"> |
| | | <td class="tdNowrap">磨边类型:</td> |
| | |
| | | <td class="tdNowrap">单片名称:</td> |
| | | <td colspan="8">{{ itemTr.glass_child }}</td> |
| | | <td class="tdNowrap">产品名称:</td> |
| | | <td colspan="20">{{ itemTr.product_name }}</td> |
| | | <td colspan="21">{{ itemTr.product_name }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan='2'>序号</td> |
| | |
| | | <td rowspan='2'>原因</td> |
| | | <td rowspan='2'>工序</td> |
| | | <td rowspan='2'>班组</td> |
| | | <td rowspan='2'>信息</td> |
| | | <td rowspan='2'>备注</td> |
| | | <td v-for="(itemPr,index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td> |
| | | </tr> |
| | |
| | | <td>{{ itemDatile.patch_reason }}</td> |
| | | <td>{{ itemDatile.patch_processes }}</td> |
| | | <td>{{ itemDatile.responsible_team }}</td> |
| | | <td>{{ itemDatile.responsible_personnel }}</td> |
| | | <td>{{ itemDatile.remarks }}</td> |
| | | <td></td> |
| | | <td></td> |
| | |
| | | </tbody> |
| | | <tfoot> |
| | | <tr style="height: 14px"> |
| | | <td v-for="(itemsum,index) in item.detail" :key="index" colspan="33"> |
| | | <td v-for="(itemsum,index) in item.detail" :key="index" colspan="34"> |
| | | 数量: |
| | | <label>{{ itemsum.quantity }}</label> |
| | | 面积: |
| | |
| | | </td> |
| | | |
| | | <td>完工签名</td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr> |
| | | <td>质检签名</td> |
| | |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr> |
| | | <td>原片箱号</td> |
| | | <td colspan="28"></td> |
| | | <td colspan="29"></td> |
| | | </tr> |
| | | <tr v-for="(qrCodeItem,index) in item.detail" :key="index"> |
| | | <td colspan="29"> |
| | | <td colspan="30"> |
| | | <span style="display: flex;"> |
| | | <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 35%"> |
| | | <div class='qrCode' style="width: 80px;height: 80px;"> |
| | |
| | | </td> |
| | | </tr> |
| | | <tr v-for="(itemtextareas,index) in item.detail" :key="index"> |
| | | <td colspan="33" rowspan="6" style="width: 99%;height: 150px "> |
| | | <td colspan="34" rowspan="6" style="width: 99%;height: 150px "> |
| | | <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;text-align: left">{{itemtextareas.processing_note}}</textarea> |
| | | </div> |
| | | </td> |
| | |
| | | <table v-for="(item,id) in produceList" id="contentTable" :key="id"> |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="33"> |
| | | <td colspan="34"> |
| | | <div style="float: left;">返片单号:{{itemFlow.patch_id}}</div> |
| | | <div id="bj" style="float: right;font-size: 28px">返 {{ id + 1 }}</div> |
| | | <div>{{ company.companyName }}</div> |
| | |
| | | <td class="tdNowrap">项目名称:</td> |
| | | <td colspan="8">{{ items.project }}</td> |
| | | <td class="tdNowrap">工艺流程:</td> |
| | | <td colspan="20" style="width: 500px">{{ items.process }}</td> |
| | | <td colspan="21" style="width: 500px">{{ items.process }}</td> |
| | | </tr> |
| | | <tr v-for="(itemTr,index) in item.detail" :key="index"> |
| | | <td class="tdNowrap">磨边类型:</td> |
| | |
| | | <td class="tdNowrap">单片名称:</td> |
| | | <td colspan="8">{{ itemTr.glass_child }}</td> |
| | | <td class="tdNowrap">产品名称:</td> |
| | | <td colspan="20">{{ itemTr.product_name }}</td> |
| | | <td colspan="21">{{ itemTr.product_name }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan='2'>序号</td> |
| | |
| | | <td rowspan='2'>原因</td> |
| | | <td rowspan='2'>工序</td> |
| | | <td rowspan='2'>班组</td> |
| | | <td rowspan='2'>信息</td> |
| | | <td rowspan='2'>备注</td> |
| | | <td v-for="(itemPr,index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td> |
| | | </tr> |
| | |
| | | <td>{{ itemDatile.patch_reason }}</td> |
| | | <td>{{ itemDatile.patch_processes }}</td> |
| | | <td>{{ itemDatile.responsible_team }}</td> |
| | | <td>{{ itemDatile.responsible_personnel }}</td> |
| | | <td>{{ itemDatile.remarks }}</td> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | |
| | | </tbody> |
| | | <tfoot> |
| | | <tr style="height: 14px"> |
| | | <td v-for="(itemsum,index) in item.detail" :key="index" colspan="33"> |
| | | <td v-for="(itemsum,index) in item.detail" :key="index" colspan="34"> |
| | | 数量: |
| | | <label>{{ itemsum.quantity }}</label> |
| | | 面积: |
| | |
| | | </td> |
| | | |
| | | <td>完工签名</td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr> |
| | | <td>质检签名</td> |
| | |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr> |
| | | <td>原片箱号</td> |
| | | <td colspan="28"></td> |
| | | <td colspan="29"></td> |
| | | </tr> |
| | | <tr v-for="(qrCodeItem,index) in item.detail" :key="index"> |
| | | <td colspan="29"> |
| | | <td colspan="30"> |
| | | <span style="display: flex;"> |
| | | <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 35%"> |
| | | <div class='qrCode' style="width: 80px;height: 80px;"> |
| | |
| | | </td> |
| | | </tr> |
| | | <tr v-for="(itemtextareas,index) in item.detail" :key="index"> |
| | | <td colspan="33" rowspan="6" style="width: 99%;height: 150px "> |
| | | <td colspan="34" rowspan="6" style="width: 99%;height: 150px "> |
| | | <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;text-align: left">{{itemtextareas.processing_note}}</textarea> |
| | | </div> |
| | | </td> |
| | |
| | | font-size: 12px; |
| | | font-weight: bolder; |
| | | } |
| | | input{ |
| | | border: none; |
| | | background: none; |
| | | } |
| | | |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | |
| | | {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'}, |
| | | {code: 'printLabel', name: t('processCard.labelPrinting'), status: 'primary'}, |
| | | {code: 'printLabel2', name: t('processCard.labelPrinting2'), status: 'primary'}, |
| | | {code: 'printLabel3', name: '标签打印2', status: 'primary'}, |
| | | {code: 'printLabel3', name: '成品打印2', status: 'primary'}, |
| | | {code: 'printTest', name: "测试打印", status: 'primary'}, |
| | | // {code: 'printLike', name: "同配置打印", status: 'primary'}, |
| | | ], |
| | |
| | | {field: 'thisProcess',width: 120, title: t('reportingWorks.reportingProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'responsibleProcess',width: 120, title: t('reportingWorks.responsibleProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'responsibleTeam', width: 130,title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'breakageType', width: 100,title: t('reportingWorks.breakageType'), sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'breakageType', width: 120,title: t('reportingWorks.breakageType'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true}, |
| | | {field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true}, |
| | |
| | | pl.patch_type, |
| | | pl.patch_reason, |
| | | pl.patch_processes, |
| | | pl.responsible_team |
| | | pl.responsible_team, |
| | | pl.responsible_personnel |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | pl.rework_reason as patch_reason, |
| | | pl.rework_processes as patch_processes, |
| | | pl.responsible_team, |
| | | pl.rework_team |
| | | pl.rework_team, |
| | | pl.responsible_personnel |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | <if test="crossProcessBreakingDTO.glassChild != null and crossProcessBreakingDTO.glassChild != ''"> |
| | | and ogd.glass_child regexp #{crossProcessBreakingDTO.glassChild} |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.breakageType != null and crossProcessBreakingDTO.breakageType != ''"> |
| | | and dd.breakage_type regexp #{crossProcessBreakingDTO.breakageType} |
| | | </if> |
| | | GROUP BY dd.id |
| | | order by dd.id desc |
| | | limit #{offset},#{pageSize} |
| | |
| | | o.batch, |
| | | rw.this_process, |
| | | rw.this_completed_quantity, |
| | | round(ogd.area * rw.this_completed_quantity,2) as completedArea, |
| | | round(ogd.child_width*ogd.child_height * rw.this_completed_quantity/1000000,2) as completedArea, |
| | | rw.this_worn_quantity, |
| | | round(ogd.area * rw.this_worn_quantity,2) as wornArea, |
| | | round(ogd.child_width*ogd.child_height * rw.this_worn_quantity/1000000,2) as wornArea, |
| | | rw.device_name, |
| | | rw.teams_groups_name, |
| | | rw.reviewed_state, |