huang
2025-10-22 78d73df2f8e0c6855d65eb1f2c6df08e0f99bab1
UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -1,18 +1,18 @@
<script lang="ts" setup>
import { onBeforeUnmount, onMounted, reactive, ref } 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 {onBeforeUnmount, onMounted, reactive, ref} 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 dayjs from 'dayjs';
import request from "@/utils/request"
import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import { inject } from 'vue';
const router = useRouter()
const tableDataa = ref([])
const tableDatab = ref([])
const tableDatad = ref([])
const { t } = useI18n()
const {t} = useI18n()
const add = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
@@ -63,7 +63,7 @@
const slot = ref('');
const leftingStation = ref('');
const loadingline = ref('');
let webSocket: WebSocket | null = null;
let webSocket: WebSocket | null = null;
const globalDate = inject('globalDate');
const value = ref('')
const options = [
@@ -80,16 +80,16 @@
  taskType: '',
  taskState: '',
});
let startTime = window.localStorage.getItem('startTime')
request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", {
  let startTime = window.localStorage.getItem('startTime')
  request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest",{
  beginDate: startTime,
  endDate: globalDate,
}).then((response) => {
  if (response.code == 200) {
  } else {
    ElMessage.warning(response.msg)
  }
});
          if (response.code == 200) {
          } else {
          ElMessage.warning(response.msg)
          }
          });
// 格式化后端时间并计算一周前的时间
const defaultTime = ref<[Date, Date]>([new Date(), new Date()]);
function parseAndSetTime() {
@@ -100,115 +100,115 @@
  timeRangea.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)];
  window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
}
onMounted(() => {
  onMounted(() => {
  socket = initializeWebSocket(socketUrl, handleMessage);
  parseAndSetTime();
});
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
const handleMessage = (data) => {
  const formattedTasks = data.tasks[0].map(task => {
    if (task && task.createTime) {
      return { ...task, createTime: formatTimestamp(task.createTime) };
    }
    return task;
  });
  tableDataa.value = formattedTasks;
  if (data.rawStationDetailsList != null) {
    tableDatab.value = data.rawStationDetailsList[0]
    if (data.rawStationDetailsList[0][0].patternThickness != null) {
      card1.value = true
    }
    if (data.rawStationDetailsList[0][1].patternThickness != null) {
      card2.value = true
    }
    if (data.rawStationDetailsList[0][2].patternThickness != null) {
      card3.value = true
    }
    if (data.rawStationDetailsList[0][3].patternThickness != null) {
      card4.value = true
    }
    if (data.rawStationDetailsList[0][4].patternThickness != null) {
      card5.value = true
    }
    if (data.rawStationDetailsList[0][5].patternThickness != null) {
      card6.value = true
    }
    if (data.rawStationDetailsList[0][6].patternThickness != null) {
      card7.value = true
    }
    if (data.rawStationDetailsList[0][7].patternThickness != null) {
      card8.value = true
    }
    if (data.rawStationDetailsList[0][8].patternThickness != null) {
      card9.value = true
    }
    if (data.rawStationDetailsList[0][9].patternThickness != null) {
      card10.value = true
    }
    if (data.rawStationDetailsList[0][10].patternThickness != null) {
      card11.value = true
    }
    if (data.rawStationDetailsList[0][11].patternThickness != null) {
      card12.value = true
    }
    if (data.rawStationDetailsList[0][12].patternThickness != null) {
      card13.value = true
    }
    if (data.rawStationDetailsList[0][13].patternThickness != null) {
      card14.value = true
    }
    if (data.rawStationDetailsList[0][14].patternThickness != null) {
      card15.value = true
    }
    if (data.rawStationDetailsList[0][15].patternThickness != null) {
      card16.value = true
    }
    if (data.rawStationDetailsList[0][16].patternThickness != null) {
      card17.value = true
    }
    if (data.rawStationDetailsList[0][17].patternThickness != null) {
      card18.value = true
    }
    if (data.rawStationDetailsList[0][18].patternThickness != null) {
      card19.value = true
    }
    if (data.rawStationDetailsList[0][19].patternThickness != null) {
      card20.value = true
    }
    if (data.rawStationDetailsList[0][20].patternThickness != null) {
      card21.value = true
    }
    if (data.rawStationDetailsList[0][21].patternThickness != null) {
      card22.value = true
    }
    if (data.rawStationDetailsList[0][22].patternThickness != null) {
      card23.value = true
    }
    if (data.rawStationDetailsList[0][23].patternThickness != null) {
      card24.value = true
    }
    if (data.rawStationDetailsList[0][24].patternThickness != null) {
      card25.value = true
    }
    if (data.rawStationDetailsList[0][25].patternThickness != null) {
      card98.value = true
    }
    if (data.rawStationDetailsList[0][26].patternThickness != null) {
      card99.value = true
    }
    if (data.rawStationDetailsList[0][27].patternThickness != null) {
      card101.value = true
    }
    if (data.rawStationDetailsList[0][28].patternThickness != null) {
      card102.value = true
    }
    if (data.rawStationDetailsList[0][29].patternThickness != null) {
      card103.value = true
    }
    if (data.rawStationDetailsList[0][30].patternThickness != null) {
      card104.value = true
    }
    const formattedTasks = data.tasks[0].map(task => {
      if (task && task.createTime) {
        return { ...task, createTime: formatTimestamp(task.createTime) };
      }
      return task;
    });
    tableDataa.value = formattedTasks;
  if(data.rawStationDetailsList !=null){
  tableDatab.value = data.rawStationDetailsList[0]
  if (data.rawStationDetailsList[0][0].patternThickness !=null) {
    card1.value = true
  }
  if (data.rawStationDetailsList[0][1].patternThickness !=null) {
    card2.value = true
  }
  if (data.rawStationDetailsList[0][2].patternThickness !=null) {
    card3.value = true
  }
  if (data.rawStationDetailsList[0][3].patternThickness !=null) {
    card4.value = true
  }
  if (data.rawStationDetailsList[0][4].patternThickness !=null) {
    card5.value = true
  }
  if (data.rawStationDetailsList[0][5].patternThickness !=null) {
    card6.value = true
  }
  if (data.rawStationDetailsList[0][6].patternThickness !=null) {
    card7.value = true
  }
  if (data.rawStationDetailsList[0][7].patternThickness !=null) {
    card8.value = true
  }
  if (data.rawStationDetailsList[0][8].patternThickness !=null) {
    card9.value = true
  }
  if (data.rawStationDetailsList[0][9].patternThickness !=null) {
    card10.value = true
  }
  if (data.rawStationDetailsList[0][10].patternThickness !=null) {
    card11.value = true
  }
  if (data.rawStationDetailsList[0][11].patternThickness !=null) {
    card12.value = true
  }
  if (data.rawStationDetailsList[0][12].patternThickness !=null) {
    card13.value = true
  }
  if (data.rawStationDetailsList[0][13].patternThickness !=null) {
    card14.value = true
  }
  if (data.rawStationDetailsList[0][14].patternThickness !=null) {
    card15.value = true
  }
  if (data.rawStationDetailsList[0][15].patternThickness !=null) {
    card16.value = true
  }
  if (data.rawStationDetailsList[0][16].patternThickness !=null) {
    card17.value = true
  }
  if (data.rawStationDetailsList[0][17].patternThickness !=null) {
    card18.value = true
  }
  if (data.rawStationDetailsList[0][18].patternThickness !=null) {
    card19.value = true
  }
  if (data.rawStationDetailsList[0][19].patternThickness !=null) {
    card20.value = true
  }
  if (data.rawStationDetailsList[0][20].patternThickness !=null) {
    card21.value = true
  }
  if (data.rawStationDetailsList[0][21].patternThickness !=null) {
    card22.value = true
  }
  if (data.rawStationDetailsList[0][22].patternThickness !=null) {
    card23.value = true
  }
  if (data.rawStationDetailsList[0][23].patternThickness !=null) {
    card24.value = true
  }
  if (data.rawStationDetailsList[0][24].patternThickness !=null) {
    card25.value = true
  }
  if (data.rawStationDetailsList[0][25].patternThickness !=null) {
    card98.value = true
  }
  if (data.rawStationDetailsList[0][26].patternThickness !=null) {
    card99.value = true
  }
  if (data.rawStationDetailsList[0][27].patternThickness !=null) {
    card101.value = true
  }
  if (data.rawStationDetailsList[0][28].patternThickness !=null) {
    card102.value = true
  }
  if (data.rawStationDetailsList[0][29].patternThickness !=null) {
    card103.value = true
  }
  if (data.rawStationDetailsList[0][30].patternThickness !=null) {
    card104.value = true
  }
  }
};
const handleEdit = (row) => {
@@ -225,30 +225,30 @@
const handleBinde = (row) => {
  dialogFormVisiblee.value = true;
};
// 删除
const deleteWarehousing = async (row) => {
  // 删除
 const deleteWarehousing = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('film.dedelete'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
    const confirmResult = await ElMessageBox.confirm(
      t('film.dedelete'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      var url = "/glassStorage/rawGlassStorageDetails/deleteWarehousing?slot=" + row.slot;
      const response = await request.post(url)
    var url="/glassStorage/rawGlassStorageDetails/deleteWarehousing?slot="+row.slot;
    const response = await request.post(url)
      // const response = await request.post("/glassStorage/rawGlassStorageDetails/deleteWarehousing",[row.slotId])
      if (response.code === 200) {
        ElMessage.success(response.message);
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
        ElMessage.error(response.msg);
      }
    }
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
  }
  }
};
// 原片入库
const handleup = async () => {
@@ -260,7 +260,7 @@
      filmsId: filmsId.value,
      remainQuantity: remainQuantity.value,
      slot: slot.value,
    });
    });
    if (response.code === 200) {
      ElMessage.success(response.message);
      dialogFormVisibleb.value = false;
@@ -278,9 +278,9 @@
};
// 入库请求
const handleupc = async () => {
  try {
    var url = "/glassStorage/rawGlassStorageDetails/warehousingRequest?leftingStation=" + leftingStation.value;
    const response = await request.post(url)
  try  {
    var url="/glassStorage/rawGlassStorageDetails/warehousingRequest?leftingStation="+leftingStation.value;
      const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      dialogFormVisiblec.value = false;
@@ -289,15 +289,15 @@
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
  catch (error) {
}
catch (error) {
  }
}
// 出库请求
const handleupe = async () => {
  try {
    var url = "/glassStorage/rawGlassStorageDetails/outWarehousingRequest?leftingStation=" + leftingStation.value;
    const response = await request.post(url)
  try  {
    var url="/glassStorage/rawGlassStorageDetails/outWarehousingRequest?leftingStation="+leftingStation.value;
      const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      dialogFormVisiblee.value = false;
@@ -306,47 +306,47 @@
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  }
  catch (error) {
}
catch (error) {
  }
}
// 出库
const openc = async (row) => {
  // 出库
  const openc = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('film.deoutbound'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
    const confirmResult = await ElMessageBox.confirm(
      t('film.deoutbound'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      var url = "/glassStorage/rawGlassStorageDetails/outWarehousing?slotId=" + row.slot;
      var url="/glassStorage/rawGlassStorageDetails/outWarehousing?slotId="+row.slot;
      const response = await request.post(url)
      // const response = await request.post("/glassStorage/rawGlassStorageDetails/outWarehousing",[row.slotId])
      if (response.code === 200) {
        ElMessage.success(response.message);
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
        ElMessage.error(response.msg);
      }
    }
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
  }
};
  }
};
// 查询数据
const selectReportData = async () => {
  let celllist = []
  let stateList = []
  if (selectValuesa[0] != null && selectValuesa[0] != 'undefined') {
    if (selectValuesa[0] != "") {
      celllist = [selectValuesa[0]];
  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]];
  if(selectValuesa[1]!=null&&selectValuesa[1]!='undefined'){
    if(selectValuesa[1]!=""){
      stateList=[selectValuesa[1]];
    }
  }
  const response = await request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", {
@@ -358,29 +358,29 @@
  if (response.code === 200) {
    // tableDataa.value = response.data;
    ElMessage.success(response.message);
  }
  }
  else {
    ElMessage.error(response.message);
  }
};
// 是否禁用
const toggleEnableState = async (row: any) => {
  if (!row.deviceId) {
    ElMessage.error(t('basicData.updatanull'));
  if (!row.deviceId) {
    ElMessage.error(t('basicData.updatanull'));
    return;
  }
  }
  const newState = row.state === 1 ? 0 : 1;
  try {
    var url = "/glassStorage/rawGlassStorageStation/updateSlotState?slot=" + row.slot + "&state=" + newState;
    var url="/glassStorage/rawGlassStorageStation/updateSlotState?slot="+row.slot + "&state=" + newState;
    const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
      row.state = newState;
    } else {
    if (response.code === 200) {
      ElMessage.success(response.message);
      row.state = newState;
    } else {
      ElMessage.error(response.message);
    }
    row.state = newState;
  } catch (error) {
  row.state = newState;
} catch (error) {
    ElMessage.error(t('basicData.glassnull'));
  }
};
@@ -397,8 +397,8 @@
      patternThickness: patternThickness.value,
      patternHeight: patternHeight.value,
      patternWidth: patternWidth.value,
    }
    );
  }
  );
    if (response.code === 200) {
      ElMessage.success(response.message);
      Edit.value = false;
@@ -453,100 +453,100 @@
//   }
// }
// 任务成功处理
const successfull = async (row) => {
const successfull = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.psuccessfullyprocessed'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.psuccessfullyprocessed'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
        cancelButtonText: t('workOrder.cancel'),
        type: 'warning',
      }
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      var url = "/glassStorage/rawGlassStorageTask/taskSuccess?taskId=" + row.id;
  var url="/glassStorage/rawGlassStorageTask/taskSuccess?taskId="+ row.id;
      const response = await request.post(url)
      if (response.code === 200) {
        ElMessage.success(response.message);
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
        ElMessage.error(response.msg);
      }
    }
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
  }
};
  }
};
// 任务失败处理
const handleptask = async (row) => {
const handleptask = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.ptaskfailure'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.ptaskfailure'),
      t('workOrder.prompt'),
      {
        confirmButtonText: t('workOrder.yes'),
        cancelButtonText: t('workOrder.cancel'),
        type: 'warning',
      }
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      var url = "/glassStorage/rawGlassStorageTask/taskError?taskId=" + row.id;
  var url="/glassStorage/rawGlassStorageTask/taskError?taskId="+ row.id;
      const response = await request.post(url)
      if (response.code === 200) {
        ElMessage.success(response.message);
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
        ElMessage.error(response.msg);
      }
    }
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
  }
};
function getStatusType1(taskType) {
  switch (taskType) {
    case 1:
      return 'info';
    case 2:
      return 'warning';
    case 3:
      return 'success';
    case 4:
      return 'danger';
    case 5:
      return 'primary';
  }
  }
};
function getStatusType1(taskType) {
switch (taskType) {
  case 1:
    return 'info';
  case 2:
    return 'warning';
  case 3:
    return 'success';
  case 4:
    return 'danger';
  case 5:
    return 'primary';
}
}
function getStatusText1(taskType) {
  switch (taskType) {
    case 1:
      return t('sorter.advancetask');//进片任务
    case 2:
      return t('sorter.outputtasks');//出片任务
    case 3:
      return t('sorter.schedulingtasks');//调度任务
    case 4:
      return t('sorter.advancerequests');//进片请求
    case 5:
      return t('sorter.releaserequest');//出片请求
  }
function getStatusText1(taskType) {
switch (taskType) {
  case 1:
    return t('sorter.advancetask');//进片任务
  case 2:
    return t('sorter.outputtasks');//出片任务
  case 3:
  return t('sorter.schedulingtasks');//调度任务
  case 4:
  return t('sorter.advancerequests');//进片请求
  case 5:
  return t('sorter.releaserequest');//出片请求
}
}
function getStatusType2(taskState) {
  switch (taskState) {
    case 0:
      return 'info';
    case 2:
      return 'warning';
    case 1:
      return 'success';
  }
function getStatusType2(taskState) {
switch (taskState) {
  case 0:
    return 'info';
  case 2:
    return 'warning';
  case 1:
    return 'success';
}
}
function getStatusText2(taskState) {
  switch (taskState) {
    case 0:
      return t('film.built');//新建
    case 2:
      return t('film.fail');//失败
    case 1:
      return t('film.finish');//完成
  }
function getStatusText2(taskState) {
switch (taskState) {
  case 0:
    return t('film.built');//新建
  case 2:
    return t('film.fail');//失败
  case 1:
    return t('film.finish');//完成
}
}
onBeforeUnmount(() => {
  closeWebSocket();
@@ -565,62 +565,70 @@
        {{ $t('film.pwarehousing') }}
      </el-button>
      <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBinde">{{
        $t('film.pwareout')
      }}
          $t('film.pwareout')
        }}
      </el-button>
      <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handlehistorical">{{
        $t('searchOrder.historicaltasks')
      }}
          $t('searchOrder.historicaltasks')
        }}
      </el-button>
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange" format="YYYY/MM/DD HH:mm:ss"
        value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('film.starttime')"
        :end-placeholder="$t('film.endtime')" :default-time="defaultTime" />
      <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;">
        <el-option :label="$t('film.built')" value="0"></el-option>
        <el-option :label="$t('film.finish')" value="1"></el-option>
        <el-option :label="$t('film.fail')" value="2"></el-option>
      </el-select>
      <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;">
        <el-option :label="$t('sorter.advancetask')" value="1"></el-option>
        <el-option :label="$t('sorter.outputtasks')" value="2"></el-option>
        <el-option :label="$t('sorter.schedulingtasks')" value="3"></el-option>
        <el-option :label="$t('sorter.advancerequests')" value="4"></el-option>
        <el-option :label="$t('sorter.releaserequest')" value="5"></el-option>
      </el-select>
      <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('film.inquire')
        }}</el-button>
    </div>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;">
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange"
        format="YYYY/MM/DD HH:mm:ss"
        value-format="YYYY-MM-DD HH:mm:ss"
        :start-placeholder="$t('film.starttime')"
        :end-placeholder="$t('film.endtime')"
        :default-time="defaultTime" />
    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
      <el-option :label="$t('film.built')" value="0"></el-option>
      <el-option :label="$t('film.finish')" value="1"></el-option>
      <el-option :label="$t('film.fail')" value="2"></el-option>
    </el-select>
    <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
      <el-option :label="$t('sorter.advancetask')" value="1"></el-option>
      <el-option :label="$t('sorter.outputtasks')" value="2"></el-option>
      <el-option :label="$t('sorter.schedulingtasks')" value="3"></el-option>
      <el-option :label="$t('sorter.advancerequests')" value="4"></el-option>
      <el-option :label="$t('sorter.releaserequest')" value="5"></el-option>
    </el-select>
    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('film.inquire') }}</el-button>
  </div>
  <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" >
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
        <el-table height="300" ref="table" :data="tableDataa"
          :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
          <el-table-column prop="id" align="center" :label="$t('film.enableid')" />
          <el-table-column prop="startSlot" align="center" :label="$t('film.originateslot')" />
          <el-table-column prop="endSlot" align="center" :label="$t('film.endoriginateslot')" />
          <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')" />
          <el-table-column width="100" align="center" :label="$t('film.enabletype')" prop="taskType">
            <template #default="scope">
              <el-tag :type="getStatusType1(scope.row.taskType)">
                {{ getStatusText1(scope.row.taskType) }}
              </el-tag>
            </template>
          </el-table-column>
          <el-table-column align="center" :label="$t('film.taskstatus')" prop="taskState">
            <template #default="scope">
              <el-tag :type="getStatusType2(scope.row.taskState)">
                {{ getStatusText2(scope.row.taskState) }}
              </el-tag>
            </template>
          </el-table-column>
        <el-table height="300" ref="table"
        :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id" align="center" :label="$t('film.enableid')"/>
          <el-table-column prop="startSlot" align="center" :label="$t('film.originateslot')"/>
          <el-table-column prop="endSlot" align="center" :label="$t('film.endoriginateslot')"/>
          <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')"/>
          <el-table-column width="100"
          align="center"
          :label="$t('film.enabletype')"
          prop="taskType"
        >
        <template #default="scope">
      <el-tag :type="getStatusType1(scope.row.taskType)">
        {{ getStatusText1(scope.row.taskType) }}
      </el-tag>
    </template>
        </el-table-column>
        <el-table-column
          align="center"
          :label="$t('film.taskstatus')"
          prop="taskState"
        >
        <template #default="scope">
      <el-tag :type="getStatusType2(scope.row.taskState)">
        {{ getStatusText2(scope.row.taskState) }}
      </el-tag>
    </template>
        </el-table-column>
          <el-table-column prop="createTime" align="center" :label="$t('film.createtime')" />
          <el-table-column fixed="right" :label="$t('film.operate')" align="center">
            <template #default="scope">
              <el-button :disabled="(scope.row.taskState !== 0)" type="text" plain @click="successfull(scope.row)">{{
                $t('searchOrder.successfullyprocessed') }}</el-button>
              <el-button :disabled="(scope.row.taskState !== 0)" type="text" plain @click="handleptask(scope.row)">{{
                $t('searchOrder.taskfailure') }}</el-button>
          <el-button :disabled="(scope.row.taskState !== 0)" type="text" plain @click="successfull(scope.row)">{{ $t('searchOrder.successfullyprocessed') }}</el-button>
          <el-button :disabled="(scope.row.taskState !== 0)" type="text" plain @click="handleptask(scope.row)">{{ $t('searchOrder.taskfailure') }}</el-button>
            </template>
          </el-table-column>
        </el-table-column>
        </el-table>
      </div>
    </el-card>
@@ -659,255 +667,243 @@
      <div class="card103" v-show="card103" style="z-index:999;top:109px;left:96px;position:absolute;"></div>
      <div class="card104" v-show="card104" style="z-index:999;top:109px;left:70px;position:absolute;"></div>
    </div>
    <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-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-button type="text" plain @click="handleEdit(scope.row)">{{ $t('film.exit') }}</el-button>
              <el-button :disabled="!scope.row.remainQuantity" type="text" plain @click="deleteWarehousing(scope.row)">{{ $t('film.delete') }}</el-button>
              <el-button :disabled="!scope.row.remainQuantity || scope.row.remainQuantity === 0" type="text" plain @click="openc(scope.row)">{{ $t('film.outbound') }}</el-button>
            </template>
        </el-table-column>
        <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="270">
          <template #default="scope">
            <el-button type="text" plain @click="handleEdit(scope.row)">{{ $t('film.exit') }}</el-button>
            <el-button :disabled="!scope.row.remainQuantity" type="text" plain @click="deleteWarehousing(scope.row)">{{
              $t('film.delete') }}</el-button>
            <el-button :disabled="!scope.row.remainQuantity || scope.row.remainQuantity === 0" type="text" plain
              @click="openc(scope.row)">{{ $t('film.outbound') }}</el-button>
          </template>
        </el-table-column>
      </el-table>
    </el-dialog>
    <!-- 历史任务 -->
    <el-dialog v-model="blindb" 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="dialogFormVisibleb" top="23vh" width="55%" :title="$t('film.addglass')">
      <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
        <el-form label-width="150px">
          <el-form label-width="100px" 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="$t('film.widtha')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" 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="$t('film.heighta')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" 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="$t('film.thicknessa')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" 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="$t('film.filmsa')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.infilms')" v-model="filmsId" 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="$t('film.quantitya')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inquantity')" v-model="remainQuantity" 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="$t('film.inwarehousing')" :required="true" style="width: 17vw">
                      <el-select :placeholder="$t('film.selectwarehousing')" style="width: 270px" v-model="slot">
                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
                      </el-select>
                    </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="handleup">
            {{ $t('basicData.confirm') }}
          </el-button>
          <el-button @click="dialogFormVisibleb = false">{{ $t('basicData.cancel') }}</el-button>
        </div>
      </template>
    </el-dialog>
    <el-dialog v-model="dialogFormVisiblec" top="24vh" width="30%" :title="$t('film.pwarehousing')">
      <div style="margin-left: 50px;margin-bottom: 10px;">
        <el-form-item :label="$t('film.position')" :required="true">
          <el-select v-model="leftingStation" clearable :placeholder="$t('film.cposition')" style="margin-left: 20px;">
            <el-option :label="$t('film.position1')" value="98"></el-option>
            <el-option :label="$t('film.position2')" value="99"></el-option>
        </el-table>
</el-dialog>
<!-- 历史任务 -->
<el-dialog v-model="blindb" 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="dialogFormVisibleb" top="23vh" width="55%" :title="$t('film.addglass')" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  label-width="150px">
      <el-form label-width="100px" 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="$t('film.widtha')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" 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="$t('film.heighta')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" 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="$t('film.thicknessa')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" 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="$t('film.filmsa')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.infilms')" v-model="filmsId" 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="$t('film.quantitya')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inquantity')" v-model="remainQuantity" 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="$t('film.inwarehousing')" :required="true" style="width: 17vw">
            <el-select
            :placeholder="$t('film.selectwarehousing')"
             style="width: 270px"
             v-model="slot">
               <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
          </el-select>
        </el-form-item>
      </div>
      <template #footer>
        <div id="dialog-footer">
          <el-button type="primary" @click="handleupc">
            {{ $t('basicData.confirm') }}
          </el-button>
          <el-button @click="dialogFormVisiblec = false">{{ $t('basicData.cancel') }}</el-button>
        </div>
      </template>
    </el-dialog>
    <el-dialog v-model="dialogFormVisiblee" top="24vh" width="30%" :title="$t('film.pwareout')">
      <div style="margin-left: 50px;margin-bottom: 10px;">
        <el-form-item :label="$t('film.position')" :required="true">
          <el-select v-model="leftingStation" clearable :placeholder="$t('film.cposition')" style="margin-left: 20px;">
            <el-option :label="$t('film.position1')" value="98"></el-option>
            <el-option :label="$t('film.position2')" value="99"></el-option>
          </el-select>
        </el-form-item>
      </div>
      <template #footer>
        <div id="dialog-footer">
          <el-button type="primary" @click="handleupe">
            {{ $t('basicData.confirm') }}
          </el-button>
          <el-button @click="dialogFormVisiblee = false">{{ $t('basicData.cancel') }}</el-button>
        </div>
      </template>
    </el-dialog>
    <el-dialog v-model="Edit" top="23vh" width="55%" :title="$t('film.addglass')">
      <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
        <el-form label-width="150px">
          <el-form label-width="100px" 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="$t('film.widtha')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" 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="$t('film.heighta')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" 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="$t('film.thicknessa')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" 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="$t('film.filmsa')" :required="true" style="width: 17vw;">
                      <el-input :placeholder="$t('film.infilms')" v-model="filmsId" 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 label-width="210px">
                      <el-form-item :label="$t('film.thickremainquantity')" :required="true"
                        style="width: 44.5vw;margin-left: -40px;">
                        <el-input v-model="remainQuantity" autocomplete="off" :placeholder="$t('film.inquantity')" />
                      </el-form-item>
                    </el-form>
                  </div>
                </div>
              </el-col>
            </el-row>
          </el-form>
              </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="handleup">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="dialogFormVisibleb = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
      <template #footer>
        <div id="dialog-footer">
          <el-button type="primary" @click="Editclick">
            {{ $t('basicData.confirm') }}
          </el-button>
          <el-button @click="Edit = false">{{ $t('basicData.cancel') }}</el-button>
    </template>
  </el-dialog>
<el-dialog v-model="dialogFormVisiblec" top="24vh" width="30%" :title="$t('film.pwarehousing')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('film.position')" :required="true">
    <el-select v-model="leftingStation" clearable :placeholder="$t('film.cposition')" style="margin-left: 20px;" >
      <el-option :label="$t('film.position1')" value="98"></el-option>
      <el-option :label="$t('film.position2')" value="99"></el-option>
    </el-select>
    </el-form-item>
    </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleupc">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="dialogFormVisiblec = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
<el-dialog v-model="dialogFormVisiblee" top="24vh" width="30%" :title="$t('film.pwareout')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('film.position')" :required="true">
    <el-select v-model="leftingStation" clearable :placeholder="$t('film.cposition')" style="margin-left: 20px;" >
      <el-option :label="$t('film.position1')" value="98"></el-option>
      <el-option :label="$t('film.position2')" value="99"></el-option>
    </el-select>
    </el-form-item>
    </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleupe">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="dialogFormVisiblee = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="Edit" top="23vh" width="55%" :title="$t('film.addglass')" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  label-width="150px">
      <el-form label-width="100px" 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="$t('film.widtha')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" 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="$t('film.heighta')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" 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="$t('film.thicknessa')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" 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="$t('film.filmsa')" :required="true" style="width: 17vw;">
                <el-input :placeholder="$t('film.infilms')" v-model="filmsId" 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 label-width="210px">
          <el-form-item :label="$t('film.thickremainquantity')" :required="true" style="width: 44.5vw;margin-left: -40px;">
            <el-input v-model="remainQuantity" autocomplete="off" :placeholder="$t('film.inquantity')"/>
          </el-form-item>
        </el-form>
            </div></div>
          </el-col>
        </el-row>
        </el-form>
            </el-form>
          </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="Editclick">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="Edit = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
        </div>
      </template>
    </el-dialog>
  </div>
</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%;
}
.awatch {
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
.awatch{
  height: 400px;
  width: 1500px;
  max-width: 100%;
}
#dialog-footer {
  text-align: center;
  margin-top: -15px;
}
.img-dlpl {
.img-dlpl{
  margin-left: 330px;
  margin-top: 10px;
  background-image: url('../../assets/ypcc.png');
  background-image:url('../../assets/ypcc.png');
  background-repeat: no-repeat;
  background-attachment: local;
  min-height: 700px;
@@ -915,12 +911,11 @@
  max-width: 100%;
  background-size: 800px 700px;
  overflow: hidden;
  position: relative
  position:relative
}
.img-car1 {
.img-car1{
  display: flex;
  background-image: url('../../assets/C1.png');
  background-image:url('../../assets/C1.png');
  position: absolute;
  background-repeat: no-repeat;
  background-attachment: local;
@@ -929,190 +924,159 @@
  max-width: 100%;
  background-size: 70px 150px;
  overflow: hidden;
  position: relative
  position:relative
}
.card1 {
.card1{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card2 {
.card2{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card3 {
.card3{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card4 {
.card4{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card5 {
.card5{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card6 {
.card6{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card7 {
.card7{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card8 {
.card8{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card9 {
.card9{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card10 {
.card10{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card11 {
.card11{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card12 {
.card12{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card13 {
.card13{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card14 {
.card14{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card15 {
.card15{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card16 {
.card16{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card17 {
.card17{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card18 {
.card18{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card19 {
.card19{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card20 {
.card20{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card21 {
.card21{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card22 {
.card22{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card23 {
.card23{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card24 {
.card24{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card25 {
.card25{
  width: 14px;
  height: 110px;
  background-color: #911005
}
.card101 {
.card101{
  width: 10px;
  height: 110px;
  background-color: #911005
}
.card102 {
.card102{
  width: 10px;
  height: 110px;
  background-color: #911005
}
.card103 {
.card103{
  width: 10px;
  height: 110px;
  background-color: #911005
}
.card104 {
.card104{
  width: 10px;
  height: 110px;
  background-color: #911005
}
.card98 {
.card98{
  width: 25px;
  height: 110px;
  background-color: #911005
}
.card99 {
.card99{
  width: 25px;
  height: 110px;
  background-color: #911005