chenlu
2025-07-30 e9f8d23f55f64903d834308f9f167aaf3195c20d
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -351,6 +351,9 @@
      {code: 'delete', name: t('basicData.delete'), status: 'primary'},
      {code: 'rack', name: t('processCard.combinedFrame'), status: 'primary'},
    ],
    slots: {
      tools: 'toolbar_buttons'
    },
    import: false,
    // export: true,
    // print: true,
@@ -399,6 +402,8 @@
            let composingData = ref({
              composing: selectRecords,
              userId: user.user.userId,
              userName:user.user.userName
            })
            //修改排版状态
@@ -534,7 +539,41 @@
  reserve: true
}
function exportExcel(url, fileName,date) {
  if(date===null){
    ElMessage.warning(t('report.pleaseSelectADateFirst'))
    return
  }
  const date1 = new Date(date[0]);
  const date2 = new Date(date[1]);
  const timeDiff = Math.abs(date2.getTime() - date1.getTime());
  const daysDiff = timeDiff / (1000 * 3600 * 24);
  if(Math.floor(daysDiff)>180){
    ElMessage.warning(t('report.theFilteringTimeForExportCannotExceed180Days'))
    return
  }
  let dataMp = ref({
    date: date,
  })
  request.post(url,dataMp.value,{responseType :'blob'}).then(res => {
    const blob = new Blob([res])
    if ('download' in document.createElement('a')) { // 非IE下载
      const elink = document.createElement('a')
      elink.download = `${fileName}.xlsx`
      elink.style.display = 'none'
      elink.href = URL.createObjectURL(blob)
      document.body.appendChild(elink)
      elink.click()
      URL.revokeObjectURL(elink.href) // 释放URL 对象
      document.body.removeChild(elink)
    } else { // IE10+下载
      navigator.msSaveBlob(blob, fileName)
    }
  })
}
</script>
<template>
@@ -642,6 +681,13 @@
          >
          </vxe-pager>
        </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/processCard/exportDateProcess',
                                          t('order.processCard'),
                                          orderInfo.workOrderDate)">
            {{t('basicData.export')}}</vxe-button>
        </template>
      </vxe-grid>
    </div>