guoyujie
2025-06-09 2c98be64470f8298d3083ce337b0ffb948bee5f7
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -13,11 +13,15 @@
import {Printer} from "@element-plus/icons-vue/global";
import companyInfo from "@/stores/sd/companyInfo"
import {remove} from "xe-utils";
import PrintProcess from "@/components/pp/PrintProcess.vue";
import PrintProcessStraight from "@/components/pp/PrintProcessStraight.vue";
//语言获取
const {t} = useI18n()
let router = useRouter()
const dialogTableVisible = ref(false)
const dialogTableVisibleLabelXJTwo = ref(false)
const dialogTableVisibleStraight = ref(false)
let rowClickIndex = ref(null)
@@ -44,6 +48,15 @@
  orderId: '',
  project: ''
})
//打印
let printRow = ref({
  list: null,
  printMergeVal: null,
  like: null,
  project:null,
  merge: null
})
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' :{
@@ -56,12 +69,25 @@
      break
    }
    case 'edit1' :{
      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:2 }})
      if(parseInt(print.value)==1){
        router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:2 }})
      }else{
        router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: { projectNo: row.project_no,type:2 }})
      }
      break
    }
    case 'edit2' :{
      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:3 }})
      break
    }
    case 'edit3' :{
      printRow.value.project=row.project_no
      printRow.value.merge = company.flowCardMerge
      if(company.companyName=='常州市吉利玻璃有限公司'){
        dialogTableVisibleStraight.value = true
      }else{
        dialogTableVisible.value = true
      }
    }
  }
}
@@ -188,11 +214,25 @@
  //表头参数
  columns: [
    {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
    {title: t('basicData.operate'), width: 140, slots: { default: 'button_slot' },fixed:"left"},
    {title: t('basicData.operate'), width: 240, slots: { default: 'button_slot' },fixed:"left"},
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {
      field: 'project_no',
      title: t('ingredientsStock.projectNo'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'glass_thickness',
      title: t('order.totalThickness'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'glass_type',
      title: t('ingredients.films'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
@@ -210,6 +250,14 @@
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'labelPrintNum',
      title: t('标签打印次数')
    },
    {
      field: 'processPrintNum',
      title: t('流程卡打印次数')
    },
  ],//表头按钮
@@ -230,7 +278,7 @@
        if (columnIndex === 0) {
          return t('basicData.total')
        }
        const List = ["quantity",'area',]
        const List = ["glass_total","glass_total_area","labelPrintNum",'processPrintNum',]
        if (List.includes(column.field)) {
          return footSum(data, column.field)
        }
@@ -295,6 +343,19 @@
    }
  })
}
const printContent = ref({
  id: 'child',
})
const printCount = ()=>{
  request.post(`/processCard/updateProjectProcessPrintCount/${printRow.value.project}`).then((res) => {
    if(res.code==='200'){
      ElMessage.info(t('order.printingNumber')+':'+res.data)
      getWorkOrder()
    }
  })
}
</script>
<template>
@@ -342,6 +403,7 @@
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button>
          <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button>
          <el-button @click="getTableRow(row,'edit2')" link type="primary" size="small">{{$t('components.finishedProduct')}}</el-button>
          <el-button @click="getTableRow(row,'edit3')" link type="primary" size="small">{{$t('流程卡')}}</el-button>
        </template>
        <template #num1_filter="{ column, $panel }">
@@ -383,7 +445,9 @@
        destroy-on-close
        style="width: 80%;height:75%;overflow: auto ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContentLabel" :icon="Printer" circle/>
        <el-button
            v-print="printContentLabel"
            :icon="Printer" circle/>
      </template>
      <print-custom-label-x-j-two id="childLabel"
                                  :faceOrientation="labelRow.faceOrientation"
@@ -391,6 +455,47 @@
                                  :dataType="labelRow.dataType"
                                  :projectNo="labelRow.projectNo"
                                  style="width: 100%;height: 100%"/>
    </el-dialog>
    <el-dialog
        id="sizePrintCalrd"
        v-model="dialogTableVisible"
        :title="$t('processCard.print')"
        destroy-on-close
        style="width: 75%;height:75% ">
      <template #header="{ close, titleId, titleClass }">
        <el-button
            v-print="printContent"
            @click="printCount"
            :icon="Printer" circle />
      </template>
      <print-process
          id="child"
          :printLike="printRow.like"
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :printProject="printRow.project"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
    <el-dialog
        id="sizePrintCalrd"
        v-model="dialogTableVisibleStraight"
        :title="$t('processCard.print')"
        destroy-on-close
        style="width: 75%;height:75% ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/>
      </template>
      <print-process-straight
          id="child"
          :printLike="printRow.like"
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :printProject="printRow.project"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
  </div>
</template>
@@ -412,4 +517,11 @@
  width: 100%;
}
:deep(#sizePrintCalrd .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
</style>