自动化立体仓库 - WCS系统
*
lsh
2025-04-08 a451e2d9e1abcae3286dfcfec4103aad1ee64085
src/main/webapp/views/taskWrkLog/taskWrkLog.html
@@ -10,6 +10,8 @@
      <script type="text/javascript" src="../../static/wcs/js/common.js"></script>
      <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script>
      <script type="text/javascript" src="../../static/wcs/js/element.js"></script>
      <script type="text/javascript" src="../../static/wcs/js/xlsx.full.min.js"></script>
      <script type="text/javascript" src="../../static/wcs/js/FileSaver.min.js"></script>
   </head>
   <body>
@@ -26,6 +28,8 @@
                  <el-form-item>
                     <el-button type="primary" @click="getTableData">查询</el-button>
                     <el-button type="primary" @click="resetParam">重置</el-button>
                     <el-button type="primary" @click="exportTable">导出当前页面数据</el-button>
                     <el-button type="primary" @click="exportTableAll">导出所有</el-button>
                  </el-form-item>
               </el-form>
               <el-table ref="singleTable" :data="tableData" style="width: 100%;">
@@ -93,6 +97,7 @@
            el: '#app',
            data: {
               tableData: [],
               tableDataAll: [],
               currentPage: 1,
               pageSizes: [16, 30, 50, 100, 150, 200],
               pageSize: 16,
@@ -148,6 +153,115 @@
                     }
                  });
               },
               executeExportTable() {
                  // 1. 过滤操作列
                  const exportData = this.tableData.map(item => {
                     const cloned = { ...item }
                     delete cloned.operation // 移除操作列关联字段
                     return cloned
                  })
                  // 2. 完整字段映射
                  const headerMap = {
                     taskNo: '任务号',
                     status$: '任务状态',
                     wrkNo: '工作号',
                     createTime$: '生成时间',
                     modiTime$: '更新时间',
                     assignTime$: '派发时间',
                     executeTime$: '执行时间',
                     completeTime$: '完结时间',
                     cancelTime$: '取消时间',
                     durationTime: '持续时长',
                     ioType$: '任务类型',
                     startPoint: '起点位置',
                     targetPoint: '终点位置',
                     wrkSts$: '工作状态',
                     crnNo: '堆垛机号',
                     barcode: '条码',
                     memo: '备注'
                  }
                  // 3. 创建工作表
                  const worksheet = XLSX.utils.json_to_sheet(exportData)
                  // 4. 替换表头为中文
                  XLSX.utils.sheet_add_aoa(worksheet, [Object.values(headerMap)], { origin: 'A1' })
                  // 5. 生成文件名(带日期)
                  const fileName = `任务列表_${new Date().toLocaleDateString().replace(/\//g, '-')}.xlsx`
                  // 6. 导出文件
                  const workbook = XLSX.utils.book_new()
                  XLSX.utils.book_append_sheet(workbook, worksheet, '任务数据')
                  XLSX.writeFile(workbook, fileName)
               },
               executeExportTableAll() {
                  let that = this;
                  $.ajax({
                     url: baseUrl + "/taskWrkLog/export/all/auth",
                     headers: {
                        'token': localStorage.getItem('token')
                     },
                     dataType: 'json',
                     contentType: 'application/json;charset=UTF-8',
                     method: 'GET',
                     success: function(res) {
                        if (res.code == 200) {
                           that.tableDataAll = res.data.records
                           // 1. 过滤操作列
                           const exportData = that.tableDataAll.map(item => {
                              const cloned = { ...item }
                              delete cloned.operation // 移除操作列关联字段
                              return cloned
                           })
                           // 2. 完整字段映射
                           const headerMap = {
                              taskNo: '任务号',
                              status$: '任务状态',
                              wrkNo: '工作号',
                              createTime$: '生成时间',
                              modiTime$: '更新时间',
                              assignTime$: '派发时间',
                              executeTime$: '执行时间',
                              completeTime$: '完结时间',
                              cancelTime$: '取消时间',
                              durationTime: '持续时长',
                              ioType$: '任务类型',
                              startPoint: '起点位置',
                              targetPoint: '终点位置',
                              wrkSts$: '工作状态',
                              crnNo: '堆垛机号',
                              barcode: '条码',
                              memo: '备注'
                           }
                           // 3. 创建工作表
                           const worksheet = XLSX.utils.json_to_sheet(exportData)
                           // 4. 替换表头为中文
                           XLSX.utils.sheet_add_aoa(worksheet, [Object.values(headerMap)], { origin: 'A1' })
                           // 5. 生成文件名(带日期)
                           const fileName = `任务列表_${new Date().toLocaleDateString().replace(/\//g, '-')}.xlsx`
                           // 6. 导出文件
                           const workbook = XLSX.utils.book_new()
                           XLSX.utils.book_append_sheet(workbook, worksheet, '任务数据')
                           XLSX.writeFile(workbook, fileName)
                        } else if (res.code === 403) {
                           top.location.href = baseUrl + "/";
                        } else {
                           that.$message({
                              message: res.msg,
                              type: 'error'
                           });
                        }
                     }
                  });
               },
               handleSizeChange(val) {
                  console.log(`每页 ${val} 条`);
                  this.pageSize = val
@@ -166,6 +280,12 @@
                  }
                  this.getTableData()
               },
               exportTable() {
                  this.executeExportTable()
               },
               exportTableAll() {
                  this.executeExportTableAll()
               },
               handleCommand(command, row) {
                  switch (command) {
                     case "showCommand":