wu
2024-12-23 b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af
UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -12,8 +12,6 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import companyInfo from "@/lang/companyInfo";
import QRCode from "qrcode";
const company = companyInfo()
const printMerge = null
let props = defineProps({
@@ -25,23 +23,18 @@
  for (let i = 0; i < produceList.value.length; i++) {
    const technologyNumber = produceList.value[i].detail[0].technologyNumber.toString(); // 转换为字符串以便处理每个字符
    produceList.value[i].detail[0]["qrcodeList"] = []; // 初始化一个空数组用来存储 QR Code
    for (let j = 0; j < technologyNumber.length; j++) {
      const processId = produceList.value[i].detail[0].process_id;
      const url = `${processId}/${technologyNumber[j]}`;
      // 生成 QR Code 并存储到数组中
      const qrcodeData = await QRCode.toDataURL(url);
      produceList.value[i].detail[0]["qrcodeList"].push({
        qrcode: qrcodeData,
        technologyNumber: technologyNumber[j]
      });
    }
  }
};
//根据输入的数量重新汇总
const handleSummary = () => {
  for (let i = 0; i < produceList.value.length; i++) {
@@ -64,10 +57,8 @@
      //每个序号面积
      collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
      totalArea += collection.total_area * 1;
      collection.total_area1 = parseFloat((collection.width * collection.height * collection.quantity1 / 1000000).toFixed(2))
      totalArea1 += collection.total_area1 * 1;
      totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
      totalWeight1 += collection.width * collection.height * collection.quantity1 / 1000000 * collection.separation * 2.5 * 1;
      //每个序号周长
@@ -82,19 +73,14 @@
    produceList.value[i].detail[0].weight1 = totalWeight1
  }
}
onMounted(async () => {
  console.log(props.printFlowCardId,props.printLayer)
  try {
    const response = await request.post('/unLoadGlass/downGlassInfo/downGlassPrint',{
        flowCardId:props.printFlowCardId,
        layer:props.printLayer
    });
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      produceList.value = response.data;
      ElMessage.success(response.message);
@@ -103,26 +89,18 @@
            produceList.value[j].detailList.forEach((item, index) => {
              // 解析 separation 字段的 JSON 字符串
              let separationObj = JSON.parse(item.separation);
              // 获取 thickness 的原始值
              let thicknessValue = separationObj.thickness;
              // 去除 'mm' 单位
              let thicknessWithoutUnit = thicknessValue.replace('mm', '');
              item.separation = thicknessWithoutUnit
              sumWeight += item.width * item.height * item.quantity / 1000000 * item.separation * 2.5 * 1;
            });
            produceList.value[j].detail[0].weight = sumWeight
          }
          handleGetQRCode()
          handleSummary()
          // printFlowCard();
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.message);
@@ -187,7 +165,6 @@
        <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>
@@ -211,7 +188,6 @@
      </tr>
      </thead>
      <tbody>
      <tr v-for="(itemDatile,index) in item.detailList" :key="index">
        <td>{{ itemDatile.order_number }}</td>
        <!-- <td>{{ itemDatile.s01Value }}</td> -->
@@ -266,7 +242,6 @@
        </td>
      </tr>
      <tr v-for="(itemtextarea,index) in item.detail" :key="index">
        <td>完工签名</td>
        <td colspan="2"></td>
        <td colspan="2"></td>
@@ -334,7 +309,6 @@
          </span>
          </span>
        </td>
      </tr>
      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
        <td  colspan="29" rowspan="6" style="width: 480px;height: 150px ">
@@ -352,83 +326,61 @@
  padding: 0;
  text-align: center;
}
#printFlowCard {
  text-align: center;
//font-weight: bolder; height: 600px;
}
#contentTable {
  border-collapse: collapse;
  border: 1px solid black;
  width: 100%;
}
#contentTable thead {
  font-size: 13px;
  font-weight: bolder;
}
#contentTable thead div {
  font-size: 15px;
  font-weight: bolder;
}
#contentTable tr td {
  border: 1px solid black;
  height: 18px;
  font-weight: bolder;
}
#contentTable tbody {
}
.tdNowrap {
}
#contentTable tfoot {
  font-size: 12px;
  font-weight: bolder;
}
input{
  border: none;
  background: none;
}
@media print {
  @page {
    size: auto;  
    margin: 4mm 5mm 5mm 5mm  
  }
  table {
    page-break-before: always;
    page-break-inside: auto;
  }
 #contentTable thead {
   display: table-header-group;
  }
  tfoot {
    display: table-footer-group;
    page-break-inside: avoid;
  }
}
.qrCode img {
  width: 100%;
  height: 100%;
}
</style>