wxw
2024-09-05 64274de013b172d31d6cda1349786e5c165cf79f
Web/src/views/device/deviceMonitor/index.vue
@@ -4,14 +4,12 @@
            <el-card class="box-card">
                <div slot="header" class="linefix">
                    <span>输送线</span>
                    <div
                        :class="['lineStatus', { 'device-status-0': stationValue.status === true }, { 'device-status-1': stationValue.status === false }]">
                    </div>
                    <div :class="['lineStatus', stationValue.status ? 'device-status-0' : 'device-status-1']"></div>
                </div>
                <div class="choosefix">
                    <el-select v-model="lineValue" placeholder="请选择" @change="handleLineChange('item', $event)">
                        <el-option v-for="item in lineOptions" :key="item.value" :label="item.label"
                            :value="item.value"></el-option>
                        <el-option v-for="item in lineOptions" :key="item.id" :label="item.text"
                            :value="item.id"></el-option>
                    </el-select>
                    <el-select v-model="stationValue" placeholder="请选择" style="margin-top: 10px;"
                        value-key="stationNum">
@@ -27,8 +25,9 @@
                        </el-form-item>
                        <el-form-item label="任务类型">
                            <el-select clearable v-model="stationValue.taskType" placeholder="请选择任务类型">
                        <el-option v-for="(item,index) in dl('TaskTypeEnum')" :key="index" :value="Number(item.value)" :label="`${item.name} [${item.value}]`"></el-option>
                     </el-select>
                                <el-option v-for="(item, index) in dl('TaskTypeEnum')" :key="index"
                                    :value="Number(item.value)" :label="`${item.name} [${item.value}]`"></el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item label="起始工位">
                            <el-input v-model="stationValue.startLocatNo"></el-input>
@@ -77,8 +76,7 @@
                            <el-form-item label="任务类型">
                                <el-select clearable="" v-model="deviceInfo.taskType" placeholder="请选择状态">
                                    <el-option v-for="(item, index) in dl('TaskTypeEnum')" :key="index"
                                        :value="Number(item.value)"
                                        :label="`${item.name} [${item.value}] `" />
                                        :value="Number(item.value)" :label="`${item.name} [${item.value}] `" />
                                </el-select>
                            </el-form-item>
                            <el-form-item label="起始工位">
@@ -116,17 +114,17 @@
import { ref, reactive } from 'vue';
import { listWcsDevice } from '/@/api/wcs/wcsDevice';
import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
import { getDictLabelByVal as dv } from '/@/utils/dict-utils';
import { listWcsPlc } from '/@/api/wcs/wcsPlc';
const stations = ref<any>([]);
const listStationsData = ref<any>([]);
const listStackingMachineData = ref<any>([]);
const lineOptions = ref<any>([]);
const lineValue = ref(1);
const stationValue = ref<any>({
    taskNo: '',
    taskType: '',
    startLocatNo:'',
    startLocatNo: '',
    endLocatNo: '',
    plc: '',
    wcs: '',
@@ -135,16 +133,17 @@
// 查询操作
const handleQuery = async () => {
    var listplc = await listWcsPlc({ type: 1 });
    lineOptions.value = listplc.data.result;
    lineValue.value = listplc.data.result[0].id;
    var res = await listWcsDevice();
    listStackingMachineData.value = res.data.result.filter(s => s.type == 0);
    const listConveyorLineData = res.data.result.filter(s => s.type == 1 || s.type == 4);
    stations.value = {
        1: listConveyorLineData.filter(s => s.text == '1层托盘输送线'),
        2: listConveyorLineData.filter(s => s.text == '2层托盘输送线'),
        3: listConveyorLineData.filter(s => s.text == '3层托盘输送线')
    }
    if (stations.value[1].length > 0) {
        listStationsData.value = stations.value[1];
    const listConveyorLineData = res.data.result.filter(s => s.type == 1);
    listplc.data.result.forEach(s => {
        stations.value[s.id] = listConveyorLineData.filter(c => c.plcId === s.id)
    });
    if (stations.value[lineValue.value].length > 0) {
        listStationsData.value = stations.value[lineValue.value];
        stationValue.value = listStationsData.value[0];
    }
};
@@ -152,15 +151,9 @@
const handleLineChange = (field: string, value: number) => {
    listStationsData.value = stations.value[value];
    stationValue.value = {};
    if (listStationsData.value.length > 0)
        stationValue.value = listStationsData.value[0];
};
const lineOptions = [
    { value: 1, label: '一楼输送线' },
    { value: 2, label: '二楼输送线' },
    { value: 3, label: '三楼输送线' }
];
</script>