廖井涛
2025-11-17 c069f2cce3c10a773e8c474c0031e316ffd8ad9e
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -54,6 +54,7 @@
data.value.printList = JSON.parse(props.printList)
let name=company.companyName
let replenishQRCode=company.replenishQRCode
//去除重复对象
// let uniqueObjects = {};
// // 遍历原始数据数组
@@ -175,9 +176,12 @@
           flowCardCount=produceList.value.length
          handleSummary()
          handleGetQRCode()
          if (replenishQRCode == 2){
            handleGetQRCodeTj()//天津扫码枪报工需要合并层号二维码
          }else{
            handleGetQRCode()//拆分层号二维码
          }
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
@@ -187,8 +191,40 @@
    }
)
const handleGetQRCode = async () => {
  for (let i = 0; i < produceList.value.length; i++) {
    const detailItem = produceList.value[i].detail[0];
    const detailList = produceList.value[i].detailList;
    const mergeTechNumber = detailItem.mergeTechnologyNumber.toString();
    const processId = detailItem.process_id;
    detailItem.qrcodeList = [];
    //储存层号
    const seenTechNumbers = new Set();
    for (let j = 0; j < detailList.length; j++) {
      const techNum = detailList[j].technology_number;
      //有则跳过
      if (seenTechNumbers.has(techNum)) continue;
      const url = `${processId}/${techNum}`;
      const qrcodeData = await QRCode.toDataURL(url);
      detailItem.qrcodeList.push({
        qrcode: qrcodeData,
        technologyNumber: techNum
      });
      seenTechNumbers.add(techNum);
    }
  }
};
const handleGetQRCodeTj = async () => {
  let technologyNumber=''
  for (let i = 0; i < produceList.value.length; i++) {
    const technologyNumber = produceList.value[i].detail[0].mergeTechnologyNumber.toString(); // 转换为字符串以便处理每个字符
@@ -242,7 +278,7 @@
      <thead>
      <tr v-for="(itemFlow,index) in item.detail" :key="index">
        <td    colspan="34">
          <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""></div>
          <div id="bj" style="float: right;font-size: 28px">补 {{ id + 1 }}</div>
          <div style="left: 150px">{{ company.companyName }}</div>
          <div>生产流程卡</div>
@@ -265,7 +301,8 @@
        <td class="tdNowrap">客户名称:</td>
        <td colspan="2">{{ items.customer_name }}</td>
        <td class="tdNowrap">项目名称:</td>
        <td colspan="8" style="min-width: 300px;">{{ items.project }}</td>
        <td v-if="name=='洛阳北方玻璃技术股份有限公司'" colspan="4" style="min-width: 250px;">{{ items.projectBatch }}</td>
        <td v-else colspan="4" style="min-width: 250px;">{{ items.project }}</td>
        <td class="tdNowrap">工艺流程:</td>
        <td :colspan="2+item.processList.length*2"  style="width: 500px">{{ items.process }}</td>
      </tr>
@@ -338,18 +375,14 @@
        </td>
      </tr>
      <tr v-for="(itemtextarea,index) in item.detail" :key="index">
        <td colspan="4" rowspan="5" style="width: 480px;height: 100px ">
          <div>
          </div>
        </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="1"></td>
        <template v-for=" n in item.processList.length">
          <td colspan="2"></td>
        </template>
@@ -361,6 +394,8 @@
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="1"></td>
        <template v-for=" n in item.processList.length">
          <td colspan="2"></td>
        </template>
@@ -368,10 +403,12 @@
      <tr>
        <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="1"></td>
        <template v-for=" n in item.processList.length">
          <td colspan="2"></td>
        </template>
@@ -396,7 +433,9 @@
      </tr>
      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
        <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: 11px;text-align: left">{{itemtextareas.processing_note}}</textarea>
          <div v-if="name=='浙江巨星嘉泰新材料有限公司'" style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 16px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
          </div>
          <div v-else 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>