ZengTao
2024-05-20 09381335e11d32e01c8067b71d897c7064ec279d
UI-Project/src/views/Returns/returns.vue
@@ -5,7 +5,6 @@
const router = useRouter()
import type { TableColumnCtx } from 'element-plus'
 
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
const dialogFormVisible = ref(false)
const blind = ref(false)
@@ -17,14 +16,14 @@
const flakea = ref(false)
// const value = ref('')
import request from "@/utils/request"
const ida = ref(null);
import { ref, onMounted } from "vue";
// import http from "@/http/index";
 
let ruleForm = ref({
  // engineeringId: '',
  projectNo: '',
  workstationId: '',
  patternHeigth: '',
  patternHeight: '',
  patternWidth: '',
  filmsId: '',
  patternThickness: '',
@@ -33,7 +32,7 @@
})
const tableDataa = ref([])
  
  const tableData = reactive([]);
//   let filterData = ref({
//   damageDetails: {
@@ -61,27 +60,52 @@
    ElMessage.error('获取表格数据失败,请重试');
  }
};
request.get("/loadGlass/LoadGlass/list").then((res) => {
          if (res.code == 200) {
          console.log(res.data);
          tableDataa.value = res.data
      window.localStorage.setItem('patternWidth', res.data.patternWidth)
      window.localStorage.setItem('workstationId', res.data.workstationId)
      let workstationIda = window.localStorage.getItem('workstationId')
      let patternWidth = window.localStorage.getItem('patternWidth')
      if (patternWidth !== '' || workstationIda == '1') {
      flake.value = true
    } else if (patternWidth !== '' || workstationIda == '2') {
      flakea.value = true
   request.get("/loadGlass/LoadGlass/list").then((res) => {
    if (res.code === 200) {
     console.log(res.data);
     tableDataa.value = res.data;
    if (tableDataa.value.length === 2) {
     if (tableDataa.value[0].patternWidth > 0) {
      flake.value = true;
     }
    if (tableDataa.value[1].patternWidth > 0) {
    flakea.value = true;
    }
          } else {
          ElMessage.warning(res.msg)
          // router.push("/login")
          }
          });
    }
    } else {
    ElMessage.warning(res.msg);
    // router.push("/login");
    }
   });
// request.get("/loadGlass/LoadGlass/list").then((res) => {
//       window.localStorage.setItem('patternWidth', res.data.patternWidth)
//       window.localStorage.setItem('workstationId', res.data.workstationId)
//           if (res.code == 200) {
//           console.log(res.data);
//           tableDataa.value = res.data
//           console.log(res.data.patternWidth);
//       let workstationId = window.localStorage.getItem('workstationId')
//       let patternWidth = window.localStorage.getItem('patternWidth')
//       if (patternWidth !== '' || workstationId == '1') {
//       flake.value = true
//     } else if (patternWidth !== '' || workstationId == '2') {
//       flakea.value = true
//     }
//           } else {
//           ElMessage.warning(res.msg)
//           // router.push("/login")
//           }
//           });
//定义接收加载表头下拉数据
const titleSelectJson = ref({
  processType: [],
})
const titleSelectJsona = ref({
  processTypea: [],
 
})
// const getBasicData = ref({
@@ -108,6 +132,7 @@
};  
// 响应式数据  
const selectedProjectNo = ref(''); // 当前选中的工程号  
const selectedProjectNoa = ref(''); // 当前选中的工程号
const options = ref<any[]>([]); // 下拉选项列表  
  
// 调用接口获取选项数据的函数  
@@ -121,14 +146,8 @@
    
    if (response.code == 200) {  
    titleSelectJson.value.processType = response.data;
    //   titleSelectJson.value.processType = response.data(item => ({
    //   // options.value = response.data.data.map(item => ({
    //     value: item.projectNo,
    //     // label: item.id // 假设后端返回的数据中有  字段作为显示标签
    //   }));
    console.log(response.data);
    } else {  
      ElMessage.warning(response.data);  
    }  
@@ -136,7 +155,22 @@
    console.error('Error fetching options:', error);  
  }  
};  
  // 开始上片下拉选
const fetchOptionsa = async (queryString: string) => {
  try {
    // 发送请求到后端接口
    const response = await request.get('/loadGlass/engineering/engineering/selectTask');
    if (response.code == 200) {
    titleSelectJsona.value.processTypea = response.data;
    console.log(response.data);
    } else {
      ElMessage.warning(response.data);
    }
  } catch (error) {
    console.error('Error fetching options:', error);
  }
};
// 处理用户输入变化的方法  
const handleInputChange = async (value: string) => {  
  if (value) {  
@@ -145,13 +179,23 @@
    options.value = []; // 清空选项列表  
  }  
};  
  // 处理用户输入变化的方法
const handleInputChangea = async (value: string) => {
  if (value) {
    await fetchOptionsa(value);
  } else {
    options.value = []; // 清空选项列表
  }
};
// 初始化加载数据(如果需要)  
onMounted(() => {  
  // 在组件挂载后调用 fetchOptions('') 来加载初始数据(如果需要)  
  fetchOptions('');  
});  
onMounted(() => {
  // 在组件挂载后调用 fetchOptions('') 来加载初始数据(如果需要)
  fetchOptionsa('');
});
// const billall  = () => {
//   request.post("/loadGlass/optimizeProject/listByState", requestData)
//     .then((res: any) => {
@@ -164,32 +208,43 @@
// }
const user = ref('');
// 定义表头上传数据
let titleUploadData = ref({
  projectNo:'',
})
// const engineeringId = ref('');
// let titleUploadData = ref({
//   projectNo:'',
// })
const projectNo = ref('');
const workstationId = ref('');
const patternHeigth = ref('');
const id = ref('');
const patternHeight = ref('');
const patternWidth = ref('');
const filmsId = ref('');
const patternThickness = ref('');
const number = ref('');
// 添加
const handleBindRack = (row) => {
  workstationId.value = row.workstationId; // 假设rackNumber是架号字段的属性名
  ida.value = row.id;
  console.log(ida.value);
  add.value = true; // 打开绑定架子对话框
};
// 添加
    const handleConfirm = async () => {
  try {
  console.log(ida.value);
      // console.log('id.value:', id.value);
  if ((ida.value === 2 || ida.value === 4) && (parseInt(patternHeight.value, 10) >= 2700 )) {
    try {
    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
      id: workstationId.value,
      workstationId: workstationId.value,
      patternHeigth: patternHeigth.value,
      patternHeight: patternHeight.value,
      patternWidth: patternWidth.value,
      filmsId: filmsId.value,
      patternThickness: patternThickness.value,
      number: number.value
    }); 
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      window.location.reload()
      add.value = false;
      window.localStorage.setItem('workstationId', response.data.workstationId)
      let workstationId = window.localStorage.getItem('workstationId')
@@ -202,17 +257,59 @@
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  } catch (error) {
    // 处理错误
    console.error(error);
  }
};
  } catch (error) {
      // 处理请求错误
      console.error(error);
      alert('请求失败,请稍后再试!');
    }
  }
  else if( ida.value === 1 || ida.value === 3){
      try {
    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
      id: workstationId.value,
      workstationId: workstationId.value,
      patternHeight: patternHeight.value,
      patternWidth: patternWidth.value,
      filmsId: filmsId.value,
      patternThickness: patternThickness.value,
      number: number.value
    });
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      window.location.reload()
      add.value = false;
      window.localStorage.setItem('workstationId', response.data.workstationId)
      let workstationId = window.localStorage.getItem('workstationId')
      if (workstationId == '1') {
      flake.value = true
    } else if (workstationId == '2'){
      flakea.value = true
    }
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  } catch (error) {
      // 处理请求错误
      console.error(error);
      alert('请求失败,请稍后再试!');
    }
    }
  else  {
      ElMessage({
        type: 'info',
        message: '第二行和第四行的高必须大于2700才能保存!',
      })
    }
};
// 删除
const handleConfirma = async () => {
  try {
    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
      workstationId: workstationId.value,
      patternHeigth: 0,
      patternHeight: 0,
      patternWidth: 0,
      filmsId: "",
      patternThickness: 0,
@@ -239,30 +336,20 @@
    console.error(error);
  }
};
// 开始上片
const handle = async () => {
// 选择工程确认
const handleup = async () => {
  try  {
  let engineeringId = window.localStorage.getItem('engineeringId')
console.log(engineeringId);
if (engineeringId !== '') {
  const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
      engineeringId: engineeringId,
      state: 1,
  const response = await request.post('/loadGlass/up-patten-usage/saveUpPattenUsage', {
    engineerId: selectedProjectNo.value,
    })
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      blind.value = false;
      window.location.reload()
      dialogFormVisible.value = false;
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
    else  {
      ElMessage({
        type: 'info',
        message: '工程号不能为空!',
      })
    }
}
catch (error) {
@@ -270,6 +357,58 @@
    console.error(error);
  }
}
// 开始上片
const handle = async () => {
  try  {
  const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
    engineerId: selectedProjectNoa.value,
    state: 1,
    })
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      window.location.reload()
      blind.value = false;
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// const handle = async () => {
//   try  {
//   let engineeringId = window.localStorage.getItem('engineeringId')
// console.log(engineeringId);
// if (engineeringId !== '') {
//   const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
//       engineeringId: engineerId.va,
//       state: 1,
//     })
//     if (response.code == 200) {
//       // 绑定成功,处理逻辑
//       ElMessage.success(response.message);
//       blind.value = false;
//     } else {
//       // 请求失败,显示错误消息
//       ElMessage.error(response.msg);
//     }
//   }
//     else  {
//       ElMessage({
//         type: 'info',
//         message: '工程号不能为空!',
//       })
//     }
// }
// catch (error) {
//     // 处理错误
//     console.error(error);
//   }
// }
// 暂停
const handlea = async () => {
  try  {
@@ -283,6 +422,7 @@
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      window.location.reload()
      blinda.value = false;
    } else {
      // 请求失败,显示错误消息
@@ -301,7 +441,7 @@
    console.error(error);
  }
}
// 开始上片
// 停止任务
const handleb = async () => {
  try  {
  let engineeringId = window.localStorage.getItem('engineeringId')
@@ -314,6 +454,7 @@
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      window.location.reload()
      blindb.value = false;
    } else {
      // 请求失败,显示错误消息
@@ -333,7 +474,24 @@
  }
}
onMounted(fetchTableData);
function getStatusText(state: number) {
  switch (state) {
    case 0:
      return '等待中';
    case 1:
    case 2:
      return '上片中';
    case 100:
      return '已完成';
    default:
      return '未知状态';
  }
}
function getStatusType(state: number) {
  // 这里假设只有100时类型不是success,其他都是success
  return state === 100 ? 'info' : 'success'; // 根据需要调整类型
}
// const open = () => {
//   ElMessageBox.confirm(
//     '是否删除该条信息?',
@@ -375,12 +533,7 @@
 
  blindb.value = true; // 打开绑定架子对话框
};
// 添加
const handleBindRack = (row) => {
  workstationId.value = row.workstationId; // 假设rackNumber是架号字段的属性名
  add.value = true; // 打开绑定架子对话框
};
// 删除
const handleBindRacka = (row) => {
  workstationId.value = row.workstationId; // 假设rackNumber是架号字段的属性名
@@ -462,15 +615,39 @@
            min-width="80"
            prop="state"
          >
          <template #default="scope">
            <el-tag type="success" >{{ scope.row.state==1?"就绪":"未就绪"  }}</el-tag>
          </template>
          <template #default="scope">
        <el-tag :type="getStatusType(scope.row.state)">
          {{ getStatusText(scope.row.state) }}
        </el-tag>
      </template>
          <!-- <template #default="scope">
            <el-tag type="success" >{{ scope.row.state==0?"等待中":"上片中"  }}</el-tag>
          </template> -->
          </el-table-column>
    </el-table>
      </div>
      
    </el-card>
  <el-dialog v-model="blind" top="30vh" width="25%" title="是否开始上片?" >
    <el-dialog v-model="blind" top="24vh" width="30%" title="是否开始上片?" >
    <div style="margin-left: 50px;margin-bottom: 10px;">
      <el-form-item label="工程号:" :required="true">
        <el-select
           v-model="selectedProjectNoa"
           filterable
           clearable
           placeholder="请选择工程"
           style="width: 220px"
           @input="handleInputChangea"
         >
      <el-option
         v-for="item in titleSelectJsona['processTypea']"
         :key="item.id"
         :label="item.engineerId"
         :value="item.engineerId"
      />
    </el-select>
              </el-form-item>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handle">
@@ -480,6 +657,16 @@
      </div>
    </template>
  </el-dialog>
  <!-- <el-dialog v-model="blind" top="30vh" width="25%" title="是否开始上片?" >
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handle">
          确认
        </el-button>
        <el-button @click="blind = false">取消</el-button>
      </div>
    </template>
  </el-dialog> -->
  <el-dialog v-model="blinda" top="30vh" width="25%" title="是否暂停?" >
    <template #footer>
      <div id="dialog-footer">
@@ -510,7 +697,7 @@
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
        >
          <el-table-column prop="patternWidth" align="center" label="宽" min-width="80" />
          <el-table-column prop="patternHeigth" align="center" label="长" min-width="80" />
          <el-table-column prop="patternHeight" align="center" label="长" min-width="80" />
          <el-table-column prop="filmsId" align="center" label="膜系" min-width="80" />
          <el-table-column prop="number" align="center" label="数量" min-width="80" />
          <el-table-column fixed="right" label="操作" align="center" width="150">
@@ -531,7 +718,7 @@
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="长:" :required="true" style="width: 14vw">
                <el-input  v-model="patternHeigth" autocomplete="off" />
                <el-input  v-model="patternHeight" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
@@ -611,20 +798,11 @@
         :value="item.projectNo"  
      />  
    </el-select>  
        <!-- <el-select  v-model="getBasicData.projectNo" clearable placeholder="请选择工程" style="width: 220px"
                   >
            <el-option
                v-for="item in titleSelectJson['processType']"
                :key="item.id"
                :label="item.projectNo"
                :value="item.projectNo"
            />
          </el-select> -->
              </el-form-item>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="dialogFormVisible = false">
        <el-button type="primary" @click="handleup">
          确认
        </el-button>
        <el-button @click="dialogFormVisible = false">取消</el-button>