chenlu
3 天以前 2a243dc744898018adf7523dcb2d10ded968b432
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
@@ -15,6 +15,8 @@
import PrintProcess from "@/components/pp/PrintProcess.vue";
import PrintCustomLabelXJ from "@/components/pp/PrintCustomLabelTwo.vue";
import companyInfo from "@/stores/sd/companyInfo";
import {createTemplate} from "@/hook/createTemplateTag";
import {hiprint} from "vue-plugin-hiprint";
//语言获取
const { t } = useI18n()
let router=useRouter()
@@ -24,6 +26,8 @@
const dialogTableVisible = ref(false)
const dialogTableVisibleLabel = ref(false)
let lastList = ref([])
let props = defineProps({
  orderId:null
@@ -86,6 +90,84 @@
  }
})
//标签
let labelRow = ref({
  list: null,//勾选的数据
  faceOrientation: null,//内外面
  type: null,//标签模板
  lableType: null//标签类型
})
//选中内容
let selectRecords = ref(null)
//合片流程卡打印下拉选项
const printMerge = ref('')
const printMergeOptions = [{}]
//倒叙
let  flashback = ref(1)
//落架顺序
let landingSequence= ref(1)
//合架打印
let compound = ref(null)
const printContent = ref({
  id: 'child',
})
let hiprintTemplate = ref(null)
const printContentLabel = ref({
  id: 'childLabel',
})
const printContentLabelSemi = ref({
  id: 'childLabelSemi',
})
const changeTag = () => {
  hiprintTemplate.value = new hiprint.PrintTemplate({});
  hiprintTemplate.value.design("#hiprint-printTemplate1",{grid:true});
  const json = tag.value.value
  hiprintTemplate.value.update(json)
}
const printOrder = (type) => {
  printNumberLabel()
  const list = tag.value.value
  list.panels[0].printElements.forEach(element => {
    element.options.fontFamily = 'Arial'
    if( element.options.field !== undefined){
      if(type===3 ){
        element.options.hideTitle = true
      }
    }
    if(type!==3){
      element.options.hideTitle = false
      if( element.options.field === undefined){
        element.options.hideTitle = true
      }
    }
  })
  //hiprintTemplate.value.update(list)
  let object =  JSON.parse(JSON.stringify(lastList.value))
  //判断是否为表格
  let columnsNum = null
  if(list.panels[0].printElements[0].options.field==='table'){
    object = {table:lastList.value}
    columnsNum = (list.panels[0].printElements[0].options.gridColumns || 1)
  }
  //判断是否有 嵌套自定义纸张
  if(tag.value.tagHeight && tag.value.tagWidth){
    const print =createTemplate(list,object,tag.value.tagWidth,tag.value.tagHeight)
    hiprintTemplate.value.update(print.template)
    object = print.printData
  }
  hiprintTemplate.value.print(object)
}
//需要合并的列
let column = [1,3,8]
@@ -305,9 +387,9 @@
    //   delete obj.print_status;
    // });
    let type = tag.value.name
    let faceOrientation = stateValue.value
    let lableTypes = lableType.value
    let lableTitle = lableType.text
    let faceOrientation = ''
    let lableTypes = 1
    let lableTitle = ''
    if ($grid) {
      switch (code) {
          //打印流程卡
@@ -329,7 +411,7 @@
          printRow.value.printMergeVal = printMerge.value
          printRow.value.like = null
          printRow.value.merge = company.flowCardMerge
          printRow.value.printFc= printFc
          printRow.value.printFc= true
          printRow.value.flashback = flashback.value
          printRow.value.landingSequence=landingSequence.value
          printRow.value.compound = compound.value
@@ -356,7 +438,7 @@
              id += selectRecords[i].id + "|"
            }
          }
          lastList.value = []
          labelRow.value.list = JSON.stringify(selectRecords)
          labelRow.value.faceOrientation = faceOrientation
          labelRow.value.type = tag.value.name
@@ -385,6 +467,38 @@
const handleCellDblClick = ({ row, column, cell, $event }) => {
  VxeUI.clipboard.copy(row[column.property])
}
const selectRecordsData = ref({
  printList: []
})
// 监听流程卡打印完成事件
const printNumber = () => {
  selectRecordsData.value.printList = selectRecords
  let printState = 0
  request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
// 监听标签打印完成事件
const printNumberLabel = () => {
  selectRecordsData.value.printList = selectRecords
  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
</script>
@@ -429,6 +543,7 @@
          v-bind="gridOptions"
          :merge-cells="mergeCells"
          @cell-dblclick="handleCellDblClick"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -534,6 +649,33 @@
  height: calc(100% - 35px);
}
:deep(#sizeCheck .el-dialog__body) {
  height: 90%;
  width: 100%;
}
:deep(#sizePrintCalrd .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustom .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustomSemi .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#titleStyle .el-dialog__body){
  height: 93%;
  width: 100%;
}
.vxe-grid {
  /* 禁用浏览器默认选中 */
  -webkit-user-select: none;