廖井涛
2024-12-03 dc1a8783473d2a93344082013ec8014af1e75731
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -10,6 +10,7 @@
import QRCode from "qrcode";
import companyInfo from "@/stores/sd/companyInfo";
import userInfo from "@/stores/userInfo"
import {add} from '@/utils/decimal'
//语言获取
const company = companyInfo()
const {t} = useI18n()
@@ -19,6 +20,8 @@
const details = ref([])
const user=userInfo()
let totalQuantity = 0;  // 用于记录总数量
let totalArea = 0;      // 用于记录总面积
const data = ref({
  printList: []
@@ -33,6 +36,14 @@
const {currentRoute} = useRouter()
const route = currentRoute.value
const printMerge = props.printMerge
//打印时间
const currentTime = new Date();
const formattedTime = currentTime.getFullYear()
    + '-' + (currentTime.getMonth() + 1) + '-'
    + currentTime.getDate() + ' ' + currentTime.getHours() + ':'
    + currentTime.getMinutes();formattedTime
let merge = props.printMerge
if (merge == '') {
  merge = null
@@ -127,6 +138,7 @@
          //处理同配置打印
          handleGetQRCode()
          handleSummary()
          AreaQuantitySummary()
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
@@ -185,7 +197,7 @@
      totalQuantity += collection.quantity * 1;
      //每个序号面积
      collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
      totalArea += collection.total_area * 1;
      totalArea = add(totalArea, collection.total_area)
      totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
      //每个序号周长
      collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
@@ -197,6 +209,20 @@
  }
}
const AreaQuantitySummary = () => {
  console.log(produceList.value)
  for (let i = 0; i < produceList.value.length; i++) {
    // 遍历当前项目的 detail 数组
    for (let j = 0; j < produceList.value[i].detail.length; j++) {
      // 累加数量
      totalQuantity = add(totalQuantity,produceList.value[i].detail[j].quantity)
      // 累加面积
      totalArea = add(totalArea,produceList.value[i].detail[j].gross_area)
    }
  }
}
</script>
<template>
@@ -211,7 +237,15 @@
          <div>{{ company.companyName }}</div>
          <div>生产流程卡</div>
          <div  style="font-weight: bolder;display: flex;justify-content:space-between">
            <div>打印人:{{user.user.userName}}</div>
            <div>
              打印人:{{user.user.userName}} &nbsp;&nbsp;
              时间:{{formattedTime}}
              &nbsp;&nbsp;
              <span style="font-weight: bolder;" v-if="name=='金华福喜天成玻璃有限公司'">
                打印总数量:{{totalQuantity}}
              打印总面积:{{totalArea}}
              </span>
            </div>
            <div>
              <span v-if="name!='金华福喜天成玻璃有限公司'" style="font-size: 10px">{{itemFlow.otherRemarks}}</span>&nbsp;&nbsp;
              流程卡号: {{
@@ -227,7 +261,7 @@
        <td class="tdNowrap">项目名称:</td>
        <td colspan="4" style="min-width: 250px;">{{ items.project }}</td>
        <td class="tdNowrap">工艺流程:</td>
        <td colspan="22"  style="width: 500px">{{ items.process }}</td>
        <td :colspan="2+item.processList.length*2"  style="width: 500px">{{ items.process }}</td>
      </tr>
      <tr v-for="(itemTr,index) in item.detail" :key="index">
        <td class="tdNowrap">磨边类型:</td>
@@ -235,7 +269,7 @@
        <td class="tdNowrap">单片名称:</td>
        <td colspan="4">{{ itemTr.glass_child }}</td>
        <td class="tdNowrap">产品名称:</td>
        <td colspan="22">{{ itemTr.product_name }}</td>
        <td :colspan="2+item.processList.length*2">{{ itemTr.product_name }}</td>
      </tr>
      <tr>
        <td rowspan='2'>序号</td>
@@ -243,7 +277,7 @@
        <td rowspan='2'>编号</td>
        <td rowspan="2">小片顺序</td>
        <td rowspan='2' style="width: 90px">宽*高</td>
        <td rowspan='2'>数量</td>
        <td rowspan='2' >数量</td>
        <td rowspan='2'>面积</td>
        <td rowspan='2'>周长</td>
        <td rowspan='2'>半径/备注</td>
@@ -251,27 +285,10 @@
        <td v-for="(itemPr,index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td>
      </tr>
      <tr>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <td>{{ company.printLabel.printFlowCard.patch }}</td>
        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        <template v-for=" n in item.processList.length">
          <td>{{ company.printLabel.printFlowCard.patch }}</td>
          <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
        </template>
      </tr>
      </thead>
      <tbody>
@@ -283,40 +300,24 @@
        <td v-else>{{ itemDatile.s01Value }}</td>
        <td>{{ itemDatile.technology_number }}</td>
        <td>{{ itemDatile.child_width }}</td>
        <td class="item" style="width: 5%;height: 100%;">
        <td class="item" style="width: 60px;height: 100%;">
          <input v-model="itemDatile.quantity" style="width: 100%;height: 100%"  @keyup="handleSummary()"/>
        </td>
        <td>{{ itemDatile.total_area }}</td>
        <td>{{ itemDatile.perimeter }}</td>
        <td>{{ itemDatile.bend_radius }}</td>
        <td>{{ itemDatile.remarks }}</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <template v-for=" n in item.processList.length">
          <td></td>
          <td></td>
        </template>
      </tr>
      <tr style="height: 14px">
        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="31">
          数量:
          <label>{{ itemsum.quantity }}</label>
          面积:
          <label>{{ parseFloat(itemsum.gross_area.toFixed(2)) }}</label>
          <label>{{ itemsum.gross_area }}</label>
          重量:
          <label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label>
        </td>
@@ -329,16 +330,9 @@
        <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>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <template v-for=" n in item.processList.length">
          <td colspan="2"></td>
        </template>
      </tr>
      <tr>
        <td>生产日期</td>
@@ -347,16 +341,9 @@
        <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>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <template v-for=" n in item.processList.length">
          <td colspan="2"></td>
        </template>
      </tr>
      <tr>
@@ -398,7 +385,7 @@
      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
        <td  colspan="31"  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>
          <div style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 14px;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
          </div>
        </td>
      </tr>