wuyouming666
2024-04-23 139f252d1a163e554440a37fd97c370decaca3d7
UI-Project/src/views/Returns/returns.vue
@@ -4,17 +4,33 @@
import {useRouter} from "vue-router"
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)
const blinda = ref(false)
const blindb = ref(false)
const add = ref(false)
const adda = ref(false)
const flake = ref(false)
const flakea = ref(false)
// const value = ref('')
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import http from "@/http/index";
let ruleForm = ref({
  // engineeringId: '',
  workstationId: '',
  patternHeigth: '',
  patternWidth: '',
  filmsId: '',
  patternThickness: '',
  number: '',
})
const tableDataa = ref([])
  
 const requestData = {
@@ -27,20 +43,19 @@
//   damageDetails: {
//     state: '',
//   },
// })
// 发送获取表格数据的请求
const fetchTableData = async () => {
  try {
    // 发送获取表格数据的请求,并等待响应
    // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
    // 检查响应状态
    if (response.code === 200) {
      // 更新表格数据
      console.log('成功获取表格数据:', response.data);
      tableData.splice(0, tableData.length, ...response.data);
      window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
@@ -54,15 +69,24 @@
          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
    }
          } else {
          ElMessage.warning(res.msg)
          router.push("/login")
          // router.push("/login")
          }
          });
//定义接收加载表头下拉数据
const titleSelectJson = ref({
  processType: [],
})
const getBasicData = ref({
  id: '',
@@ -75,7 +99,7 @@
          console.log(res.data);
          } else {
          ElMessage.warning(res.msg)
          router.push("/login")
          // router.push("/login")
          }
          });
          
@@ -94,96 +118,226 @@
let titleUploadData = ref({
  projectNo:'',
})
// const billall = {
//   data () {
//     return {
//       form: {
//         projectNo: '',
//       },
//       billall:[],
//     }
//   },
//   methods:{
//   }
// }
onMounted(fetchTableData);
interface User {
  id: string
  name: string
  amount1: string
  amount2: string
  amount3: number
}
interface SpanMethodProps {
  row: User
  column: TableColumnCtx<User>
  rowIndex: number
  columnIndex: number
}
const objectSpanMethod = ({
  row,
  column,
  rowIndex,
  columnIndex,
}: SpanMethodProps) => {
  if (columnIndex === 0) {
    if (rowIndex % 2 === 0) {
      return {
        rowspan: 2,
        colspan: 1,
      }
// const engineeringId = ref('');
const workstationId = ref('');
const patternHeigth = ref('');
const patternWidth = ref('');
const filmsId = ref('');
const patternThickness = ref('');
const number = ref('');
// 添加
    const handleConfirm = async () => {
  try {
    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
      workstationId: workstationId.value,
      patternHeigth: patternHeigth.value,
      patternWidth: patternWidth.value,
      filmsId: filmsId.value,
      patternThickness: patternThickness.value,
      number: number.value
    });
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      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 {
      return {
        rowspan: 0,
        colspan: 0,
      }
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  } catch (error) {
    // 处理错误
    console.error(error);
  }
};
// 删除
const handleConfirma = async () => {
  try {
    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
      workstationId: workstationId.value,
      patternHeigth: 0,
      patternWidth: 0,
      filmsId: "",
      patternThickness: 0,
      number: 0
    });
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      adda.value = false;
      window.localStorage.setItem('workstationId', response.data.workstationId)
      let workstationId = window.localStorage.getItem('workstationId')
      if (workstationId == '1') {
      flake.value = false
    } else if (workstationId == '2'){
      flakea.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: engineeringId,
      state: 1,
    })
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      blind.value = false;
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
}
const open = () => {
  ElMessageBox.confirm(
    '是否删除该条信息?',
    '提示',
    {
      confirmButtonText: '是',
      cancelButtonText: '取消',
      type: 'warning',
    }
  )
    .then(() => {
      ElMessage({
        type: 'success',
        message: '删除成功!',
      })
    })
    .catch(() => {
    else  {
      ElMessage({
        type: 'info',
        message: '删除失败',
        message: '工程号不能为空!',
      })
    })
    }
}
const getTableRow = (type) =>{
  switch (type) {
    case 'edit' :{
      //alert('我接收到子组件传送的编辑信息')
      // router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
      break
      state: true
    }
    case 'delete':{
      alert('我接收到子组件传送的删除信息')
      break
    }
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 暂停
const handlea = 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: 0,
    })
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      blinda.value = false;
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
    else  {
      ElMessage({
        type: 'info',
        message: '工程号不能为空!',
      })
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 开始上片
const handleb = 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: 0,
    })
    if (response.code == 200) {
      // 绑定成功,处理逻辑
      ElMessage.success(response.message);
      blindb.value = false;
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
    else  {
      ElMessage({
        type: 'info',
        message: '工程号不能为空!',
      })
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
onMounted(fetchTableData);
// const open = () => {
//   ElMessageBox.confirm(
//     '是否删除该条信息?',
//     '提示',
//     {
//       confirmButtonText: '是',
//       cancelButtonText: '取消',
//       type: 'warning',
//     }
//   )
//     .then(() => {
//       ElMessage({
//         type: 'success',
//         message: '删除成功!',
//       })
//     })
//     .catch(() => {
//       ElMessage({
//         type: 'info',
//         message: '删除失败',
//       })
//     })
// }
// 开始上片
const handleBind = (row) => {
  // engineeringId.value = row.engineeringId;
  blind.value = true; // 打开绑定架子对话框
};
// 暂停
const handleBinda = (row) => {
  // engineeringId.value = row.engineeringId;
  blinda.value = true; // 打开绑定架子对话框
};
// 停止任务
const handleBindb = (row) => {
  // engineeringId.value = row.engineeringId;
  blindb.value = true; // 打开绑定架子对话框
};
// 添加
const handleBindRack = (row) => {
  workstationId.value = row.workstationId; // 假设rackNumber是架号字段的属性名
  add.value = true; // 打开绑定架子对话框
};
// 删除
const handleBindRacka = (row) => {
  workstationId.value = row.workstationId; // 假设rackNumber是架号字段的属性名
  adda.value = true; // 打开绑定架子对话框
};
const gridOptions = reactive({
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
@@ -222,7 +376,7 @@
  ],
})
</script>
<template>
  <div>
    <div id="dotClass">
@@ -235,18 +389,12 @@
    <el-button style="margin-left: 30px;margin-top: -3px;" >手动确认</el-button>
   </div>
    <el-button style="margin-top: 5px;margin-left: 15px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">选择工程</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="primary">开始上片</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" >暂停</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" >停止任务</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="primary" @click="handleBind">开始上片</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">暂停</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" @click="handleBindb">停止任务</el-button>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
    <!-- <el-table
    height="150"
     ref="table"
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
      :data="tableData"
      :span-method="objectSpanMethod"
    > -->
    <el-table
    height="150"
     ref="table" 
@@ -265,16 +413,48 @@
            min-width="80"
            prop="state"
          >
          <!-- <el-tag type="success" v-if="damageDetails.state === 1">就绪</el-tag> -->
          <!-- <el-tag type="danger" v-if="row.enableState==2">未就绪</el-tag> -->
          <template #default="scope">
            <el-tag type="success" >{{ scope.row.state==1?"就绪":"未就绪"  }}</el-tag>
          </template>
          </el-table-column>
    </el-table>
      </div>
    </el-card>
  <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">
        <el-button type="primary" @click="handlea">
          确认
        </el-button>
        <el-button @click="blinda = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="blindb" top="30vh" width="25%" title="是否停止任务?" >
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleb">
          确认
        </el-button>
        <el-button @click="blindb = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
      <div id="parent">
        <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
        <!-- <el-button style="margin-top: -830px;margin-left: -40px;"  size="mini" id="searchButton" @click="add = true">添加原片</el-button> -->
        <!-- <el-button style="margin-top: -10px;margin-left: -80px;"  size="mini" id="searchButton"  @click="adda = true">添加原片</el-button> -->
        <div id="overlay" v-show="flake"></div>
        <div id="overlaya" v-show="flakea"></div>
      </div>
      <div style="margin-top: -350px;margin-left: 650px;">
        <el-table :data="tableDataa" border style="width: 60%"
@@ -285,15 +465,84 @@
          <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">
            <template #default>
              <el-button size="mini" type="text" plain  @click="add = true">添加</el-button>
              <el-button size="mini" type="text" plain  @click="open">删除</el-button>
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">添加</el-button>
              <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">删除</el-button>
            </template>
        </el-table-column>
        </el-table>
    </div>
  <el-dialog v-model="add" top="23vh" width="45%" title="添加原片" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  size="mini" label-width="150px">
      <el-form label-width="70px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <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-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="宽:" :required="true" style="width: 14vw">
                <el-input v-model="patternWidth" autocomplete="off" />
              </el-form-item></div>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="膜系:" :required="true" style="width: 14vw;">
                <el-input v-model="filmsId" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="厚度:" :required="true" style="width: 14vw">
                <el-input v-model="patternThickness" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="数量:" :required="true" style="width: 14vw;">
                <el-input  v-model="number" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        </el-form>
            </el-form>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleConfirm">
          确认
        </el-button>
        <el-button @click="add = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="adda" top="30vh" width="25%" title="是否删除该条信息?" >
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleConfirma">
          确认
        </el-button>
        <el-button @click="adda = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
        </div>
  
  <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="工程" >
    <div style="margin-left: 50px;margin-bottom: 10px;">
@@ -307,19 +556,6 @@
                :value="item.projectNo"
            />
          </el-select>
        <!-- <el-select
          clearable
          placeholder="请选择工程"
          style="width: 300px"
          v-model="form.id"
        >
         <el-option
           v-for="item in billall"
           :key="item.id"
           :label="item.projectNo"
           :value="item.projectNo"
         />
       </el-select> -->
              </el-form-item>
          </div>
    <template #footer>
@@ -331,126 +567,10 @@
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="add" top="23vh" width="45%" title="添加原片" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  size="mini" label-width="150px">
      <el-form label-width="70px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="长:" :required="true" style="width: 14vw">
                <el-input  autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="宽:" :required="true" style="width: 14vw">
                <el-input autocomplete="off" />
              </el-form-item></div>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="膜系:" :required="true" style="width: 14vw;">
                <el-input autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="厚度:" :required="true" style="width: 14vw">
                <el-input autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="数量:" :required="true" style="width: 14vw;">
                <el-input autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        </el-form>
            </el-form>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="getTableRow('edit')">
          确认
        </el-button>
        <el-button @click="add = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="adda" top="23vh" width="45%" title="添加原片" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  size="mini" >
      <el-form label-width="70px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="长:" :required="true" style="width: 14vw">
                <el-input  autocomplete="off" style="width: 180px" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="宽:" :required="true" style="width: 14vw">
                <el-input autocomplete="off" style="width: 180px" />
              </el-form-item></div>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="膜系:" :required="true" style="width: 14vw;">
                <el-input autocomplete="off" style="width: 180px" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
              <el-form-item label="厚度:" :required="true" style="width: 14vw">
                <el-input autocomplete="off" style="width: 180px" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item label="数量:" :required="true" style="width: 14vw;">
                <el-input autocomplete="off" style="width: 180px" />
              </el-form-item></div></div>
          </el-col>
        </el-row>
        </el-form>
            </el-form>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="adda = false">
          确认
        </el-button>
        <el-button @click="adda = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
</template>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
@@ -475,8 +595,8 @@
  width: 212px;
  height: 15px;
  background-color: #529b2e;
  margin-top: -407px;
  margin-left: 171px;
  margin-top: -404px;
  margin-left: 542px;
}
#overlaya{
  position: absolute;
@@ -484,8 +604,8 @@
  width: 212px;
  height: 15px;
  background-color: #529b2e;
  margin-top: -40px;
  margin-left: 167px;
  margin-top: -38px;
  margin-left: 537px;
}
</style>