wangfei
2024-09-19 fff70616426e429ef57c963c9fdc6bd1f8677311
更改websockect推送方式,查询传参格式更改
1个文件已修改
101 ■■■■■ 已修改文件
UI-Project/src/views/GlassStorage/rawfilmstorage.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -18,6 +18,7 @@
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const timeRange = ref(["2022-01-01", "2025-01-01"])
const selectValuesa = reactive([]);
let webSocket: WebSocket | null = null;  
const value = ref('')
const options = [
@@ -35,62 +36,25 @@
  enableState: '',
});
onMounted(() => {
    connectWebSocket();
    // socket = initializeWebSocket(socketUrl, handleMessage);
    socket = initializeWebSocket(socketUrl, handleMessage);
});
onUnmounted(() => {
  if (webSocket) {
    webSocket.close();
  }
});
  // onUnmounted(() => {
  //   if (socket) {
  //   closeWebSocket(socket);
  //   }
  //   });
  onUnmounted(() => {
    if (socket) {
    closeWebSocket(socket);
    }
    });
let socket = null;
const connectWebSocket = () => {
  if (!webSocket) {
    const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
    webSocket = new WebSocket(socketUrl);
    webSocket.onmessage = (event) => {
      const data = JSON.parse(event.data);
       if(data.tasks !=null){
        tableDataa.value = data.tasks[0]
        console.log(data.tasks[0]);
        }
        if(data.rack !=null){
        tableDatab.value = data.rack[0]
        }
    //   const data = JSON.parse(event.data);
    //   const scaleFactor =  1621.78/6000;
    //   const scaleFactory =  750/3300;
    //   if (data.currentCutTerritory && data.currentCutTerritory.length > 0) {
    //   const newRects = data.currentCutTerritory[0].map(rect => {
    //     const existingRect = adjustedRects.value.find(r => r.glass_id === rect.glass_id);
    //   });
    //   adjustedRects.value = newRects;
    //  }
    };
  }
};
// const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
// const handleMessage = (data) => {
//   // if(data.tasks!=null){
//   // tableData.splice(0, tableData.length, ...data.prioritylist[0]);
//   // }
//   if(data.tasks !=null){
//   tableDataa.value = data.tasks[0]
//   console.log(data.tasks[0]);
const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
const handleMessage = (data) => {
  if(data.tasks !=null){
  tableDataa.value = data.tasks[0]
  console.log(data.tasks[0]);
  
//   }
//   if(data.rack !=null){
//   tableDatab.value = data.rack[0]
//   }
// };
  }
  if(data.rack !=null){
  tableDatab.value = data.rack[0]
  }
};
  // 删除 
 const opena = async(row) => {  
  try {
@@ -165,21 +129,29 @@
}; 
// 查询数据
const selectReportData = async () => {
  let celllist=[]
  let stateList=[]
  if(selectValuesa[0]!=null&&selectValuesa[0]!='undefined'){
    if(selectValuesa[0]!=""){
      celllist=[selectValuesa[0]];
    }
  }
  if(selectValuesa[1]!=null&&selectValuesa[1]!='undefined'){
    if(selectValuesa[1]!=""){
      stateList=[selectValuesa[1]];
    }
  }
  const response = await request.post("/glassStorage/raw_glass_storage_task/selectRawglasstask", {
    createTime: timeRange.value[0],
    patternQuantity: timeRange.value[1],
    enableType: report.value.enableType,
    enableState: report.value.enableState
    enableType: stateList,
    enableState: celllist
  })
  if (response.code === 200) {
    tableDataa.value = response.data;
    ElMessage.success(response.message);
    if (webSocket) {
        webSocket.close();
        webSocket = null;
      }
  } else {
    connectWebSocket();
  }
  else {
    ElMessage.error(response.message);
  }
};
@@ -199,8 +171,7 @@
    } else {  
      ElMessage.error(response.message);  
    }  
  } catch (error) {
    // 处理请求错误
  } catch (error) {
    ElMessage.error(t('basicData.glassnull'));   
  }  
}; 
@@ -258,12 +229,12 @@
  <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('film.warehousing') }}</el-button>
    <el-date-picker style="margin-left: 10px;"  v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD"
      :start-placeholder="$t('film.starttime')" :end-placeholder="$t('film.endtime')" :default-time="defaultTime" />
    <el-select v-model="report.enableType" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
      <el-option :label="$t('film.built')" value="1"></el-option>
      <el-option :label="$t('film.execution')" value="2"></el-option>
      <el-option :label="$t('film.finish')" value="3"></el-option>
    </el-select>
    <el-select v-model="report.enableState" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
    <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
      <el-option :label="$t('film.stocke')" value="1"></el-option>
      <el-option :label="$t('film.outbound')" value="2"></el-option>
      <el-option :label="$t('film.dispatch')" value="3"></el-option>