<script lang="ts" setup>
|
import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref, computed } from "vue";
|
import { useRouter } from "vue-router"
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { useI18n } from 'vue-i18n'
|
import { host, WebSocketHost } from '@/utils/constants'
|
import request from "@/utils/request"
|
import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
|
const router = useRouter()
|
const { t } = useI18n()
|
const selectValuesa = reactive([]);
|
const selectedProjectNo = ref('');
|
const stationCell = ref('1');
|
const filmRemove = ref('');
|
const dialogFormVisible = ref(false)
|
const blind = ref(false)
|
const blinda = ref(false)
|
const ReportData = ref(true);
|
const blindb = ref(false)
|
const blindbd = ref(false)
|
const canSelectProjecta = ref(true);
|
const canSelectProjectb = ref(true);
|
const canSelectProjectc = ref(false);
|
const tableDatad = ref([])
|
const upstatus = ref(t('basicData.machineaa'));
|
const cuttingMachineStatusColor = ref('#911005');
|
const tableDataa = ref<any[]>([]);
|
const tableDatab = ref<any[]>([]);
|
const tableData = ref([])
|
|
const dialogFormVisiblea = ref(false)
|
|
|
const titleSelectJson = ref({
|
engineerId: [],
|
})
|
request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
|
state: null,
|
stationCell: 5
|
}).then((response) => {
|
if (response.code == 200) {
|
} else {
|
// ElMessage.warning(response.msg)
|
}
|
});
|
const selectproject = () => {
|
dialogFormVisible.value = true;
|
selectgong();
|
};
|
const markingMachineStatus = ref('#911005');
|
const cuttingMachineStatus = ref('#911005');
|
const confirmMarkingMachine = () => {
|
markingMachineStatus.value = 'green';
|
};
|
const confirmCuttingMachine = () => {
|
cuttingMachineStatus.value = 'green';
|
};
|
|
//获取原片仓储信息
|
let socketB = null;
|
const socketUrlB = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
|
|
// 添加新的消息处理函数
|
const handleMessageB = (data) => {
|
if (data.rawStationDetailsList != null) {
|
tableDatab.value = data.rawStationDetailsList[0];
|
}
|
};
|
|
onMounted(() => {
|
socket = initializeWebSocket(socketUrl, handleMessage);
|
socketB = initializeWebSocket(socketUrlB, handleMessageB);
|
});
|
onUnmounted(() => {
|
if (socket) {
|
closeWebSocket(socket);
|
}
|
if (socketB) {
|
closeWebSocket(socketB);
|
}
|
});
|
const fetchTableData = async () => {
|
try {
|
const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
|
if (response.code === 200) {
|
tableData.splice(0, tableData.length, ...response.data);
|
// ElMessage.error(response.message);
|
window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
|
}
|
} catch (error) {
|
}
|
};
|
let socket = null;
|
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassOne`;
|
const handleMessage = (data: any) => {
|
if (data.inkageState != null) {
|
cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
|
}
|
if (data.stationList.length != 0) {
|
const processedData = [...data.stationList[0]];
|
if (processedData.length > 0) {
|
processedData[0] = { ...processedData[0], workstationId: 1 };
|
}
|
if (processedData.length > 1) {
|
processedData[1] = { ...processedData[1], workstationId: 2 };
|
}
|
tableDataa.value = processedData;
|
} else {
|
tableDataa.value = []
|
}
|
if (data.upPattenUsages.length != 0) {
|
tableData.value = data.upPattenUsages[0]
|
window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
|
canSelectProjecta.value = false;
|
canSelectProjectb.value = false;
|
canSelectProjectc.value = true;
|
}
|
else {
|
canSelectProjecta.value = true;
|
canSelectProjectb.value = true;
|
canSelectProjectc.value = false;
|
tableData.value = [];
|
window.localStorage.setItem('engineeringIda', '')
|
}
|
};
|
onBeforeUnmount(() => {
|
closeWebSocket();
|
});
|
// // 结束工程
|
// const handledelete = (row) => {
|
// blindb.value = true;
|
// };
|
// const requestData = {
|
// state: 100
|
// };
|
// const selectgong = async (queryString: string) => {
|
// try {
|
// const response = await request.post('/up-patten-usage/deleteTask', {
|
// ...requestData,
|
// query: queryString
|
// });
|
// if (response.code == 200) {
|
// titleSelectJson.value.engineerId = response.data;
|
// } else {
|
// ElMessage.error(response.message);
|
// }
|
// } catch (error) {
|
// console.error(error);
|
// }
|
// };
|
// 架子复位
|
const handleptask = async (workstationId: number) => {
|
try {
|
const confirmResult = await ElMessageBox.confirm(
|
t('basicData.prackreset'),
|
t('workOrder.prompt'),
|
{
|
confirmButtonText: t('workOrder.yes'),
|
cancelButtonText: t('workOrder.cancel'),
|
type: 'warning',
|
}
|
);
|
if (confirmResult === 'confirm') {
|
|
const slot = workstationId === 3 ? 103 : (workstationId === 4 ? 104 : null);
|
if (slot !== null) {
|
const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
|
slot: slot,
|
})
|
if (response.code === 200) {
|
ElMessage.success(response.message);
|
} else {
|
ElMessage.error(response.message);
|
}
|
} else {
|
}
|
}
|
} catch (error) {
|
}
|
};
|
//选择工程预览确认
|
// const handlesure = async () => {
|
// try {
|
// const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
|
// stationCell: 5,
|
// engineerId: selectedProjectNo.value,
|
// filmRemove: parseInt(filmRemove.value, 10),
|
// })
|
// window.localStorage.setItem('engineeringIda', selectedProjectNo.value)
|
// window.localStorage.setItem('filmRemove', filmRemove.value)
|
// if (response.code == 200) {
|
// ElMessage.success(response.message);
|
// closeWebSocket(socket);
|
// tableData.value = response.data;
|
// dialogFormVisible.value = false;
|
// selectedProjectNo.value = '';
|
// filmRemove.value = '';
|
// markingMachineStatus.value = '#911005';
|
// cuttingMachineStatus.value = '#911005';
|
// ReportData.value = false;
|
// } else {
|
// ElMessage.error(response.message);
|
// }
|
// } catch (error) {
|
// console.error(error);
|
// }
|
// }
|
// 结束工程
|
const deleteTask = async () => {
|
try {
|
const confirmResult = await ElMessageBox.confirm(
|
t('searchOrder.pdeleteTask'),
|
t('workOrder.prompt'),
|
{
|
confirmButtonText: t('workOrder.yes'),
|
cancelButtonText: t('workOrder.cancel'),
|
type: 'warning',
|
}
|
);
|
if (confirmResult === 'confirm') {
|
let engineeringId = window.localStorage.getItem('engineeringIda')
|
if (engineeringId !== '') {
|
const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
|
engineerId: engineeringId,
|
})
|
if (response.code == 200) {
|
ElMessage.success(response.message);
|
canSelectProjecta.value = true;
|
canSelectProjectb.value = true;
|
canSelectProjectc.value = false;
|
blindb.value = true;
|
tableDatad.value = response.data;
|
} else {
|
ElMessage.error(response.message);
|
}
|
} else {
|
}
|
}
|
} catch (error) {
|
}
|
};
|
// 开始上片按钮
|
const handleBind = (row) => {
|
const quantity = inputQuantities.value[row.slot];
|
if (!quantity) {
|
ElMessage.warning('请输入数量');
|
return;
|
}
|
handleon(parseInt(row.slot), quantity);
|
};
|
const inputQuantities = ref<{ [key: string]: string }>({}); // 用于存储输入数量
|
const currentRow = ref(null);
|
|
// 开始上片
|
const handleon = async (slot: number, quantity: string) => {
|
try {
|
// 转换为整数
|
const quantityNum = Number(quantity);
|
const slotNum = Number(slot);
|
|
// 验证是否为有效整数
|
if (!Number.isInteger(quantityNum) || !Number.isInteger(slotNum)) {
|
ElMessage.warning('数量和架位号必须是整数');
|
return;
|
}
|
|
const response = await request.post('/loadGlass/up-patten-usage/insertTask?quantity=' + quantityNum + '&slot=' + slotNum);
|
|
if (response.code == 200) {
|
ElMessage.success(response.message);
|
blind.value = false;
|
dialogFormVisiblea.value = false;
|
inputQuantities.value[slot] = '';
|
} else {
|
ElMessage.error(response.message);
|
}
|
} catch (error) {
|
console.error(error);
|
ElMessage.error('操作失败');
|
}
|
};
|
|
// 暂停
|
const handleup = async () => {
|
try {
|
let filmRemove = window.localStorage.getItem('filmRemove')
|
let engineeringId = window.localStorage.getItem('engineeringIda')
|
if (engineeringId !== '') {
|
const response = await request.post('/loadGlass/engineering/engineering/pause', {
|
stationCell: 5,
|
filmRemove: filmRemove,
|
engineerId: engineeringId,
|
state: 0,
|
})
|
if (response.code == 200) {
|
ElMessage.success(response.message);
|
blinda.value = false;
|
} else {
|
ElMessage.error(response.message);
|
}
|
} else {
|
ElMessage({
|
type: 'info',
|
message: t('basicData.infonull'),
|
})
|
}
|
} catch (error) {
|
console.error(error);
|
}
|
}
|
// 查询数据
|
const selectReportData = async () => {
|
let stateList = []
|
if (selectValuesa[0] != null && selectValuesa[0] != 'undefined') {
|
if (selectValuesa[0] != "") {
|
stateList = [selectValuesa[0]];
|
}
|
}
|
const response = await request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
|
state: selectValuesa[0],
|
stationCell: 5
|
})
|
if (response.code === 200) {
|
tableData.value = response.data;
|
ElMessage.success(response.message);
|
} else {
|
ElMessage.error(response.message);
|
}
|
};
|
onMounted(fetchTableData);
|
|
|
// 暂停
|
const handleBinda = (row) => {
|
blinda.value = true;
|
};
|
const toggleEnableState = async (row: any) => {
|
if (!row.id) {
|
ElMessage.error(t('basicData.updatanull'));
|
return;
|
}
|
const newState = row.state === 100 ? 0 : 100;
|
try {
|
const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
|
if (response.code === 200) {
|
ElMessage.success(response.message);
|
row.state = newState;
|
} else {
|
ElMessage.error(response.message);
|
}
|
} catch (error) {
|
ElMessage.error(t('basicData.glassnull'));
|
}
|
};
|
// 破损
|
const opena = async (row) => {
|
try {
|
const confirmResult = await ElMessageBox.confirm(
|
t('searchOrder.broke'),
|
t('productStock.prompt'),
|
{
|
confirmButtonText: t('productStock.yes'),
|
cancelButtonText: t('productStock.cancel'),
|
type: 'warning',
|
}
|
);
|
if (confirmResult === 'confirm') {
|
const response = await request.post('/loadGlass/engineering/engineering/identControls', {
|
glassId: row.glassId,
|
line: 6,
|
status: 1,
|
state: 8,
|
workingProcedure: '上片',
|
})
|
if (response.code === 200) {
|
ElMessage.success(response.message);
|
} else {
|
ElMessage.error(response.msg);
|
}
|
}
|
} catch (error) {
|
console.error('发生错误:', error);
|
}
|
};
|
// 人工拿走
|
const openb = async (row) => {
|
try {
|
const confirmResult = await ElMessageBox.confirm(
|
t('order.takeawaya'),
|
t('productStock.prompt'),
|
{
|
confirmButtonText: t('productStock.yes'),
|
cancelButtonText: t('productStock.cancel'),
|
type: 'warning',
|
}
|
);
|
if (confirmResult === 'confirm') {
|
const response = await request.post('/loadGlass/engineering/engineering/identControls', {
|
glassId: row.glassId,
|
line: 6,
|
status: 1,
|
state: 9,
|
workingProcedure: '上片',
|
})
|
if (response.code === 200) {
|
ElMessage.success(response.message);
|
} else {
|
ElMessage.error(response.msg);
|
}
|
}
|
} catch (error) {
|
console.error('发生错误:', error);
|
}
|
};
|
// 历史任务
|
const iframeUrl = ref('');
|
const handlehistorical = (row) => {
|
blindbd.value = true;
|
iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
|
};
|
function getStatusType2(filmRemove) {
|
switch (filmRemove) {
|
case 0:
|
return 'success';
|
case 1:
|
return 'info';
|
case 2:
|
return 'warning';
|
}
|
}
|
function getStatusText2(filmRemove) {
|
switch (filmRemove) {
|
case 0:
|
return t('Mounting.noremoval');//完成
|
case 1:
|
return t('Mounting.coarselyground');//新建
|
case 2:
|
return t('Mounting.finegrinding');//执行中
|
}
|
}
|
|
// 输入框限制
|
const handleInput = (row) => {
|
const inputValue = parseInt(row.filmRemove);
|
const maxValue = row.remainQuantity;
|
if (inputValue > maxValue) {
|
row.filmRemove = maxValue;
|
}
|
};
|
|
|
// 架子数据对比 (每一行都进行比对,不同都显示红色)
|
// const tableRowClassName = ({
|
// row,
|
// rowIndex: number
|
// }) => {
|
// // 获取第一条数据
|
// const firstData = tableData.value[0];
|
|
// // 如果第一条数据存在且状态不是100
|
// if (firstData && firstData.state !== 100) {
|
// // 获取当前行与第一条数据
|
// const previousRow = tableDataa.value.slice(0, rowIndex).reverse().find(item =>
|
// item && item.patternWidth && item.patternHeight && item.patternThickness && item.filmsId
|
// );
|
|
// // 如果当前行有数据,进行比对
|
// if (row && row.patternWidth) {
|
// const isMatch =
|
// row.patternWidth === firstData.width &&
|
// row.patternHeight === firstData.height &&
|
// row.patternThickness === firstData.thickness &&
|
// row.filmsId === firstData.filmsId;
|
|
// return !isMatch ? 'danger-row' : '';
|
// }
|
// }
|
|
// return '';
|
// }
|
|
|
// 架子数据对比 (料架1第一行有数据,进行比对,料架2第一行没有数据,进行比对)
|
const tableRowClassName = ({
|
row,
|
rowIndex
|
}: {
|
row: any;
|
rowIndex: number;
|
}) => {
|
// 获取第一条数据
|
const firstData = tableData.value[0];
|
|
// 如果第一条数据存在且状态不是100
|
if (firstData && firstData.state !== 100) {
|
// 料架1
|
if (rowIndex === 0) {
|
// 料架1第一行有数据,进行比对
|
if (row && row.patternWidth) {
|
const isMatch =
|
row.patternWidth === firstData.width &&
|
row.patternHeight === firstData.height &&
|
row.patternThickness === firstData.thickness &&
|
row.filmsId === firstData.filmsId;
|
|
return !isMatch ? 'danger-row' : '';
|
}
|
}
|
// 料架2
|
else if (rowIndex === 1) {
|
const firstRow = tableDataa.value[0];
|
if (!firstRow || !firstRow.patternWidth) {
|
if (row && row.patternWidth) {
|
const isMatch =
|
row.patternWidth === firstData.width &&
|
row.patternHeight === firstData.height &&
|
row.patternThickness === firstData.thickness &&
|
row.filmsId === firstData.filmsId;
|
|
return !isMatch ? 'danger-row' : '';
|
}
|
}
|
}
|
}
|
|
return '';
|
}
|
|
// 删除任务
|
const deleteWarehousing = async (row: any) => {
|
try {
|
// 确认提示
|
await ElMessageBox.confirm(
|
t('basicData.deletemessage'),
|
t('sorter.prompt'),
|
{
|
confirmButtonText: t('basicData.confirm'),
|
cancelButtonText: t('basicData.cancel'),
|
type: 'warning',
|
}
|
);
|
|
// 转换为整数
|
const id = Number(row.id);
|
|
const response = await request.post('/loadGlass/up-patten-usage/deleteTask?id=' + id);
|
|
if (response.code === 200) {
|
ElMessage.success(response.message);
|
} else {
|
ElMessage.error(response.message);
|
}
|
} catch (error) {
|
console.error(error);
|
// 如果是用户取消操作,不显示错误提示
|
if (error !== 'cancel') {
|
ElMessage.error('删除失败');
|
}
|
}
|
};
|
|
</script>
|
<template>
|
<div style="height: 500px;">
|
<div>
|
<div id="dotClass">
|
<!-- <div>{{ $t('basicData.laserprinting') }}</div>
|
<i
|
:style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
|
<el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{
|
$t('basicData.yes')
|
}}
|
</el-button>
|
<div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
|
<i
|
:style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
|
<el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;">{{
|
$t('basicData.yes')
|
}}
|
</el-button>
|
<div style="margin-left: 70px;">{{ upstatus }}</div>
|
<i
|
:style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
|
-->
|
</div>
|
<!-- <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;" type="primary"
|
@click="selectproject">{{ $t('Mounting.previewproject') }}</el-button> -->
|
|
<!--开始上片-->
|
<el-button style="margin-top: 5px;margin-left: 20px;" type="primary" @click="dialogFormVisiblea = true">{{
|
$t('basicData.startloading') }}</el-button>
|
<el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%">
|
<el-table ref="table" style="margin-top: 20px;height: 700px;" :data="tableDatab"
|
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
|
<el-table-column prop="deviceId" fixed align="center" :label="$t('film.station')" min-width="80" />
|
<el-table-column prop="slot" fixed align="center" :label="$t('film.slot')" min-width="80" />
|
<el-table-column prop="patternWidth" align="center" :label="$t('film.width')" min-width="80" />
|
<el-table-column prop="patternHeight" align="center" :label="$t('film.height')" min-width="80" />
|
<el-table-column prop="patternThickness" align="center" :label="$t('film.thickness')" min-width="80" />
|
<el-table-column prop="filmsId" align="center" :label="$t('film.films')" min-width="80" />
|
<el-table-column prop="remainQuantity" align="center" :label="$t('film.remainquantity')" min-width="120" />
|
<el-table-column align="center" :label="$t('film.enablestate')" min-width="80" prop="state">
|
<template #default="scope">
|
<el-tag :type="scope.row.state == 1 ? 'success' : 'danger'" @click="toggleEnableState(scope.row)">
|
{{ scope.row.state == 1 ? $t('film.start') : $t('film.disable') }}
|
</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column fixed="right" :label="$t('film.operate')" align="center" width="270">
|
<template #default="scope">
|
<el-input v-model="inputQuantities[scope.row.slot]" type="number" min="0" @input="handleInput(scope.row)"
|
:placeholder="$t('basicData.selectquantity')" :disabled="scope.row.slot > 100" style="width: 120px; margin-right: 10px;">
|
</el-input>
|
<el-button type="text" :disabled="scope.row.slot > 100" @click="handleBind(scope.row)">
|
{{ $t('basicData.startloading') }} </el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-dialog>
|
|
<!--暂停-->
|
<el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton"
|
type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
|
|
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlehistorical">{{
|
$t('searchOrder.historicaltasks') }}</el-button>
|
<!-- <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')"
|
style="margin-top: 5px;margin-left: 20px;">
|
<el-option :label="$t('Mounting.all')" value="0"></el-option>
|
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
|
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
|
</el-select>
|
<el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')"
|
style="margin-top: 5px;margin-left: 20px;">
|
<el-option :label="$t('Mounting.all')" value="null"></el-option>
|
<el-option :label="$t('Mounting.waiting')" value="0"></el-option>
|
<el-option :label="$t('Mounting.pass')" value="100"></el-option>
|
</el-select>
|
<el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{
|
$t('Mounting.setparameters') }}</el-button>-->
|
<el-card style="flex: 1;margin-left: 10px;margin-top: 15px;">
|
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
|
<el-table height="400" ref="table" :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }"
|
:data="tableData">
|
<el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="120" align="center" />
|
<el-table-column prop="width" :label="$t('film.width')" width="200" align="center" />
|
<el-table-column prop="height" :label="$t('film.height')" align="center" />
|
<el-table-column prop="thickness" :label="$t('film.thickness')" align="center" />
|
<el-table-column prop="filmsId" :label="$t('film.films')" align="center" />
|
<el-table-column prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center" />
|
<el-table-column align="center" :label="$t('Mounting.state')" min-width="80" prop="state">
|
<template #default="scope">
|
<el-tag :type="scope.row.state === 100 ? 'success' : 'warning'" @click="toggleEnableState(scope.row)">
|
{{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
|
</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" :label="$t('film.operate')" min-width="80" prop="state">
|
<template #default="scope">
|
<el-button type="text" plain @click="deleteWarehousing(scope.row)">{{
|
$t('film.delete') }}</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</el-card>
|
|
<!--架子-->
|
<div style="display: flex;">
|
<div style="width: 49%;float: left;margin-left: 300px;">
|
<div style="display: flex;">
|
<img src="../../assets/shangpianji.png" alt=""
|
style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
|
<el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
|
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }" :row-class-name="tableRowClassName">
|
<el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65" />
|
<el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75" />
|
<el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75" />
|
<el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
|
<el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80" />
|
<el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')"
|
min-width="60" />
|
<el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
|
<template #default="scope">
|
<el-button :disabled="(!scope.row.patternThickness)" type="text" plain
|
@click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</div>
|
|
<!-- 历史任务 -->
|
<el-dialog v-model="blindbd" top="5vh" width="95%" @close="iframeUrl = ''">
|
<iframe :src="iframeUrl" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
|
frameborder="0"></iframe>
|
</el-dialog>
|
<el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
|
<template #footer>
|
<div id="dialog-footer">
|
<el-button type="primary" @click="handleon">
|
{{ $t('basicData.confirm') }}
|
</el-button>
|
<el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
<!-- 结束工程 -->
|
<!-- <el-dialog v-model="blindb" top="10vh" width="80%">
|
<el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad"
|
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
|
<el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')" />
|
<el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" />
|
<el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')" />
|
<el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" />
|
<el-table-column prop="width" align="center" :label="$t('basicData.width')" />
|
<el-table-column prop="height" align="center" :label="$t('basicData.height')" />
|
<el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" />
|
<el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')" />
|
<el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')" />
|
<el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
|
<template #default="scope">
|
<el-button type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
|
<el-button type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<template #footer>
|
<div id="dialog-footer">
|
<el-button type="danger" @click="deleteTask()">{{ $t('searchOrder.deleteTask') }}</el-button>
|
<el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
|
</div>
|
</template>
|
</el-dialog> -->
|
<el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
|
<div style="margin-left: 50px;margin-bottom: 10px;">
|
<el-form-item :label="$t('Mounting.loadingline')" :required="true">
|
<el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
|
style="margin-left: 20px;">
|
<el-option :label="$t('Mounting.all')" value="0"></el-option>
|
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
|
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
<template #footer>
|
<div id="dialog-footer">
|
<el-button type="primary" @click="handleup">
|
{{ $t('basicData.confirm') }}
|
</el-button>
|
<el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
</div>
|
<el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
|
<div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
|
<el-form-item :label="$t('Mounting.loadingline')" :required="true">
|
<el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
|
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
|
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item :label="$t('Mounting.projecta')" :required="true">
|
<el-select v-model="selectedProjectNo" filterable clearable :placeholder="$t('basicData.plselectproject')"
|
style="width: 220px" @input="handleInputChange">
|
<el-option v-for="item in titleSelectJson['engineerId']" :key="item.id" :label="item.projectNo"
|
:value="item.projectNo" />
|
</el-select>
|
</el-form-item>
|
<el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
|
<el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
|
<el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
|
<el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
|
<el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</div>
|
<template #footer>
|
<div id="dialog-footer">
|
<el-button type="primary" @click="handlesure">
|
{{ $t('basicData.confirm') }}
|
</el-button>
|
<el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
</div>
|
</template>
|
<style scoped>
|
|
:deep(.el-table .danger-row) {
|
background-color: var(--el-color-danger-light-9);
|
}
|
|
.flex-container {
|
display: flex;
|
align-items: center;
|
}
|
|
.flex-container .el-form-item {
|
flex: 1;
|
margin-right: 0;
|
/* 移除默认的右侧边距 */
|
}
|
|
.flex-container .el-form-item:last-child {
|
margin-left: 20px;
|
/* 为第二个表单项添加左侧边距 */
|
}
|
|
#dt {
|
display: block;
|
float: left;
|
line-height: 20px;
|
margin-left: 100px;
|
}
|
|
#dta {
|
display: block;
|
float: left;
|
line-height: 20px;
|
margin-left: 80%;
|
}
|
|
#dialog-footer {
|
text-align: center;
|
margin-top: -15px;
|
}
|
|
#dotClass {
|
display: flex;
|
margin-left: 20px;
|
size: 50px;
|
margin-top: 20px;
|
margin-bottom: 10px;
|
}
|
</style>
|