wangfei
2025-04-21 c482932e284a7442d41927f4f207437f54891977
UI-Project/src/views/Caching/cachingunhistory.vue
@@ -26,14 +26,43 @@
                :value="item.value"
              />
          </el-select>
            <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" :start-placeholder="$t('reportmanage.starttime')"
             style="margin-left: 15px;" value-format = "YYYY-MM-DD hh:mm:ss"
              :end-placeholder="$t('reportmanage.endtime')">
            </el-date-picker>
          <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="sethistorical()">{{$t('reportmanage.inquire')}}</el-button>
          <el-date-picker
            style="margin-left: 15px;"
             v-model="timeRange"
             type="datetimerange"
             :shortcuts="shortcuts"
             range-separator="至"
             :start-placeholder="$t('reportmanage.starttime')"
             :end-placeholder="$t('reportmanage.endtime')"
           />
          <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="handleClick()">{{$t('reportmanage.inquire')}}</el-button>
     </div>
     <div style="margin-bottom: 10px;margin-top: 20px;margin-left: 20px;">
      <el-form>
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('hellow.countOutTwo')"  style="width: 14vw">
                {{ countOutOne }}
              </el-form-item>
              </div>
          </el-col>
          <el-col :span="5">
            <div id="dta" style="font-size: 15px;">
          <el-form-item :label="$t('hellow.totalAreaOutTwo')" style="width: 14vw">
                {{ totalAreaOutOne }}
              </el-form-item>
              </div>
          </el-col>
        </el-row>
      </el-form>
    </div>
        <el-table ref="table" style="margin-top: 20px;height: 580px;width: 1770px;" :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="glassIdIn" align="center" :label="$t('searchOrder.glassID')" min-width="80" />
      <el-table-column prop="glassIdIn" align="center" :label="$t('searchOrder.intoglassid')" min-width="80" />
      <el-table-column prop="glassIdOut" align="center" :label="$t('searchOrder.outputglassID')" min-width="80" />
      <el-table-column prop="currentCell" align="center" :label="$t('sorter.layernow')" min-width="80" />
      <el-table-column prop="startCell" align="center" :label="$t('searchOrder.startCell')" min-width="80" />
      <!-- <el-table-column prop="endCell" align="center" :label="$t('searchOrder.endCell')" min-width="80" /> -->
          <el-table-column
            align="center"
            :label="$t('film.taskstatus')"
@@ -58,8 +87,8 @@
        </el-tag>  
      </template> 
          </el-table-column>
          <el-table-column prop="createTime" align="center" :label="$t('reportmanage.starttime')" min-width="100" />
          <el-table-column prop="updateTime" align="center" :label="$t('reportmanage.endtime')" min-width="100" />
          <el-table-column prop="createTime" align="center" :label="$t('film.createtime')" min-width="100" />
          <el-table-column prop="updateTime" align="center" :label="$t('sorter.updateTime')" min-width="100" />
        </el-table>
  <div style="margin-top: 20px;margin-left: 40%;">
        <el-pagination
@@ -93,6 +122,8 @@
const tableDatax = ref([])
const currentPage2 = ref(1)
const totalRecords = ref(0)
const countOutOne = ref(0)
const totalAreaOutOne = ref(0)
const glassId = ref('');
const startSlot = ref('');
const targetSlot = ref('');
@@ -115,21 +146,42 @@
      if (response.code == 200) {
        ElMessage.success(response.message);
        tableDatax.value = response.data.records;
        console.log(response.data.pages);
        totalRecords.value = response.data.total/2 || 0
      } else {
        ElMessage.error(response.message);
    }
}
catch (error) {
    console.error(error);
  }
}
const Daily = async () => {
  try {
  let startTime = window.localStorage.getItem('startTime')
      const response = await request.post("/cacheGlass/edgStorageDeviceTaskHistory/queryEdgDailyProduction", {
        deviceId: 2,
        pageNo: 1,
        pageSize: 20,
        glassId: glassId.value,
        taskState: '',
        taskType: '',
        startTime: startTime,
        endTime: getglobalDate
    })
      if (response.code == 200) {
        countOutOne.value = response.data.countOutOne
        totalAreaOutOne.value = response.data.totalAreaOutOne
      } else {
        ElMessage.error(response.message);
    }
}
catch (error) {
  }
}
const handlePageChange2 = (newPage) => {
  currentPage2.value = newPage;
  console.log(currentPage2.value);
  window.localStorage.setItem('pagenumber', currentPage2.value)
  historicala(currentPage2.value);
  Dailya(currentPage2.value);
};
const historicala = async (page) => {
  try { 
@@ -142,8 +194,8 @@
        glassId: glassId.value,
        taskState: taskState.value,
        taskType: taskType.value,
        startTime: (timeRange.value && timeRange.value[0]) || '',
        endTime: (timeRange.value && timeRange.value[1]) || '',
        beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
        endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
    })
      if (response.code == 200) {
        ElMessage.success(response.message);
@@ -154,15 +206,41 @@
    }
}
catch (error) {
    console.error(error);
  }
}
const Dailya = async (page) => {
  try {
  let page = window.localStorage.getItem('pagenumber')
  let startTime = window.localStorage.getItem('startTime')
      const response = await request.post("/cacheGlass/edgStorageDeviceTaskHistory/queryEdgDailyProduction", {
        deviceId: 2,
        pageNo: page,
        pageSize: 20,
        glassId: glassId.value,
        taskState: taskState.value,
        taskType: taskType.value,
        beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
        endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
    })
      if (response.code == 200) {
        countOutOne.value = response.data.countOutOne
        totalAreaOutOne.value = response.data.totalAreaOutOne
      } else {
        ElMessage.error(response.message);
    }
}
catch (error) {
  }
}
const handleClick = async () => {
  await sethistorical();
  await Dailyhistorical();
};
// 历史查询点击
const sethistorical = async () => {
  try { 
  let startTime = window.localStorage.getItem('startTime')
  let page = window.localStorage.getItem('pagenumber')
  console.log(page);
  const response = await request.post("/cacheGlass/edgStorageDeviceTaskHistory", {
        deviceId: 2,
        pageNo: 1,
@@ -170,10 +248,11 @@
        glassId: glassId.value,
        taskState: taskState.value,
        taskType: taskType.value,
        startTime: (timeRange.value && timeRange.value[0]) || '',
        endTime: (timeRange.value && timeRange.value[1]) || '',
        beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
        endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
    })
      if (response.code == 200) {
        currentPage2.value = 1;
        ElMessage.success(response.message);
        tableDatax.value = response.data.records;
        totalRecords.value = response.data.total/2 || 0
@@ -182,7 +261,30 @@
    }
}
catch (error) {
    console.error(error);
  }
}
const Dailyhistorical = async () => {
  try {
  let startTime = window.localStorage.getItem('startTime')
  let page = window.localStorage.getItem('pagenumber')
    const response = await request.post("/cacheGlass/edgStorageDeviceTaskHistory/queryEdgDailyProduction", {
        deviceId: 2,
        pageNo: 1,
        pageSize: 20,
        glassId: glassId.value,
        taskState: taskState.value,
        taskType: taskType.value,
        beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
        endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
    })
      if (response.code == 200) {
        countOutOne.value = response.data.countOutOne
        totalAreaOutOne.value = response.data.totalAreaOutOne
      } else {
        ElMessage.error(response.message);
    }
}
catch (error) {
  }
}
// 格式化时间戳为年月日时间字符串的函数
@@ -196,13 +298,47 @@
  const seconds = String(date.getSeconds()).padStart(2, '0'); // 补零(如果需要显示时间)
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
const shortcuts = [
  {
    text: '最近一周',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setDate(oneWeekAgo.getDate() - 7)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
    },
  },
  {
    text: '最近一个月',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setMonth(oneWeekAgo.getMonth() - 1)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
    },
  },
  {
    text: '最近三个月',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setMonth(oneWeekAgo.getMonth() - 3)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
},
  },
]
// 格式化后端时间并计算一周前的时间
const defaultTime = ref<[Date, Date]>([new Date(), new Date()]);
function parseAndSetTime() {
  const backendTime = new Date(getglobalDate);
  const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天
  console.log(formatTimestamp(oneWeekAgo));
  console.log(oneWeekAgo);
  oneWeekAgo.setHours(0, 0, 0, 0);
  timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)];
  window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
}
@@ -269,6 +405,7 @@
onMounted(() => {
  parseAndSetTime();
  historical();
  Daily()
});
  </script>
  <style scoped>