廖井涛
2025-11-17 c069f2cce3c10a773e8c474c0031e316ffd8ad9e
north-glass-erp/northglass-erp/src/components/pp/PrintProcessStraight.vue
@@ -31,7 +31,8 @@
  printList: null,
  printMerge: null,
  printLike: null,
  printProject:null
  printProject:null,
  merges:null
})
const {currentRoute} = useRouter()
@@ -54,22 +55,25 @@
if (like == '') {
  like = null
}
let merges = props.merges
if (merges == '') {
  merges = null
}
let name=company.companyName
data.value.printList = JSON.parse(props.printList)
let flowCardCount = ''
onMounted(() => {
      if(props.printProject!=null){
        request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
        request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}`).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
            console.log(res.data)
          } else {
            ElMessage.warning(res.msg)
            router.push("/login")
          }
        })
      }else{
        request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}`, data.value).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
          } else {
@@ -169,33 +173,33 @@
    produceList.value[j].detail[0].weight = sumWeight
  }
  //处理合并打印
  if (printMerge !== null && printMerge !== undefined && printMerge !== "") {
    produceList.value.forEach(item => {
      item.detail[0].technologyNumber = printMerge;
    });
    //合并打印工艺流程处理
    if (like == null) {
      let process = produceList.value[0].detail[0].process
      let indexOfJiaJiao = process.indexOf('夹胶');
      if (indexOfJiaJiao !== -1) {
        // 使用 substring 截取 "夹胶" 后面的部分,包括 "夹胶" 本身
        let afterJiaJiao = process.substring(indexOfJiaJiao).trim();
        produceList.value.forEach(item => {
          item.detail[0].process = afterJiaJiao
        })
      }
      let indexOfProceList = produceList.value[0].processList
      let getProceList = indexOfProceList.findIndex(item => item.process === '夹胶');
      if (getProceList !== -1) {
        // 使用 filter 方法过滤出 "夹胶" 及其之后的对象
        produceList.value[0].processList = indexOfProceList.filter((item, index) => index >= getProceList);
      }
    }
  }
  // if (printMerge !== null && printMerge !== undefined && printMerge !== "") {
  //
  //   produceList.value.forEach(item => {
  //     item.detail[0].technologyNumber = printMerge;
  //   });
  //
  //   //合并打印工艺流程处理
  //   if (like == null) {
  //     let process = produceList.value[0].detail[0].process
  //     let indexOfJiaJiao = process.indexOf('夹胶');
  //     if (indexOfJiaJiao !== -1) {
  //       // 使用 substring 截取 "夹胶" 后面的部分,包括 "夹胶" 本身
  //       let afterJiaJiao = process.substring(indexOfJiaJiao).trim();
  //       produceList.value.forEach(item => {
  //         item.detail[0].process = afterJiaJiao
  //       })
  //     }
  //
  //     let indexOfProceList = produceList.value[0].processList
  //     let getProceList = indexOfProceList.findIndex(item => item.process === '夹胶');
  //
  //     if (getProceList !== -1) {
  //       // 使用 filter 方法过滤出 "夹胶" 及其之后的对象
  //       produceList.value[0].processList = indexOfProceList.filter((item, index) => index >= getProceList);
  //     }
  //   }
  // }
  // produceList.value.forEach(item => {
@@ -251,7 +255,7 @@
      <thead>
      <tr v-for="(itemFlow,index) in item.detail" :key="index">
        <td  colspan="31">
          <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
          <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
          <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
          <div>{{ company.companyName }}</div>
          <div>生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span></div>
@@ -261,7 +265,7 @@
              时间:{{formattedTime}}
              &nbsp;&nbsp;
            </div>
            <div>
            <div><span v-if="item.detailList[0].merge===1">合</span>{{itemFlow.rack}}
              流程卡号: {{
                itemFlow.process_id
              }}/{{ itemFlow.technologyNumber }} 共 {{ item.count }} 架
@@ -271,7 +275,7 @@
      </tr>
      <tr v-for="(items,index) in item.detail" :key="index">
        <td class="tdNowrap">客户名称:</td>
        <td colspan="1" style="width: 200px">{{ items.customer_name }}</td>
        <td colspan="1" style="width: 200px;font-size: 17px">{{ items.customer_name }}</td>
        <td class="tdNowrap">磨边类型:</td>
        <td colspan="1" style="min-width: 100px">{{ items.edging_type }}</td>
        <td class="tdNowrap">工艺流程:</td>
@@ -279,19 +283,19 @@
      </tr>
      <tr v-for="(itemTr,index) in item.detail" :key="index">
        <td class="tdNowrap">项目名称:</td>
        <td colspan="1" style="min-width: 150px;">{{ itemTr.project }}</td>
        <td colspan="1" style="font-size: 17px">{{ itemTr.project }}</td>
        <td class="tdNowrap">单片名称:</td>
        <td colspan="1">{{ itemTr.glass_child }}</td>
        <td class="tdNowrap">产品名称:</td>
        <td :colspan="1+item.processList.length*1">{{ itemTr.product_name }}</td>
      </tr>
      <tr>
        <td rowspan='2'>序号</td>
        <td rowspan='2' style="width: 90px;font-size: 17px">宽*高</td>
        <td rowspan='2' >数量</td>
        <td rowspan='2'>备注</td>
        <td rowspan='2'>面积</td>
        <td v-for="(itemPr,index) in item.processList" :key="index" colspan="1">{{ itemPr.process }}</td>
        <td rowspan='2' style="font-size: 15px">序号</td>
        <td rowspan='2' style="font-size: 15px">宽*高</td>
        <td rowspan='2' style="font-size: 15px">数量</td>
        <td rowspan='2' style="font-size: 15px">备注</td>
        <td rowspan='2' style="font-size: 15px">面积</td>
        <td v-for="(itemPr,index) in item.processList" :key="index"  colspan="1">{{ itemPr.process }}</td>
      </tr>
      <tr>
        <template v-for=" n in item.processList.length">
@@ -303,7 +307,8 @@
      <tr v-for="(itemDatile,index) in item.detailList" :key="index">
        <td>{{ itemDatile.order_number }}</td>
        <td style="font-size: 20px">{{ itemDatile.child_width }}</td>
        <td style="font-size: 20px" v-if="itemDatile.mapNumber===''">{{ itemDatile.child_width }}</td>
        <td style="font-size: 20px" v-else>{{ itemDatile.mapNumber }}</td>
        <td class="item" style="width: 60px;height: 100%">
          <input v-model="itemDatile.quantity" style="width: 100%;height: 100%;font-size: 17px"  @keyup="handleSummary()"/>
        </td>
@@ -349,7 +354,7 @@
          <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;">
            <img style="width: 98%;height: 98%" :src=qrCodeItems.qrcode>
            <img style="width: 97%;height: 97%;margin-top: 1px" :src=qrCodeItems.qrcode>
          </div>
          <span style="float: left;font-weight: bolder">{{
              qrCodeItem.process_id + "/" + qrCodeItems.technologyNumber
@@ -364,7 +369,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: 14px;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
          <div style="width: 99%;height: 99%;text-align: left;margin-left: 10px"><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>
@@ -445,7 +450,7 @@
@media print {
    @page {
      margin: 10mm 8mm 5mm 10mm;
      margin: 10mm 10mm 5mm 10mm !important;
    }