From 5c1c0b9de58edb54443e43edf8a141b8231563e6 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 25 三月 2024 14:19:49 +0800
Subject: [PATCH] 修改导入订单表格样式
---
Albania_Mes-ui/src/views/home/index.vue | 325 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 289 insertions(+), 36 deletions(-)
diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index e974dab..a992f95 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -5,8 +5,8 @@
}
.occupy {
- height: 100%;
- width: 20%;
+ height: 50%;
+ width: 45%;
background-color: white;
margin: 0px 8px 0px 8px;
border: 1px #EBEEF5 solid;
@@ -74,6 +74,7 @@
max-width: 57%;
background-size: 1050px 1400px;
margin-top: -280px;
+ overflow: hidden;
/* width: 1660px;
max-width: 100vw;
background-size: 1660px 560px; */
@@ -82,17 +83,14 @@
}
.blocks-img {
- height: 88px;
- line-height: 90px;
- color: white;
+ height: 900px;
max-width: 100vw;
background-repeat: no-repeat;
background-attachment: local;
- width: 32px;
+ width: 1200px;
position: absolute;
- background-image: url('../../img/bigcar01.png');
- background-size: 40px 87px;
- /* background-size: 46px 94px; */
+ background-image: url(/img/car.c2f92670.png);
+ background-size: 800px 1200px;
}
.blocks-img2 {
@@ -237,12 +235,90 @@
height: 15px;
position: absolute;
}
+
+/*
+
+*/
+#fileinput .container {
+ width: 800px;
+ margin: 0 auto;
+}
+
+#fileinput .header {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 10px;
+}
+
+#fileinput table {
+ width: 100%;
+ border-collapse: collapse;
+ border: 1px solid;
+}
+
+#fileinput tr,
+#fileinput th,
+#fileinput td {
+ border: 1px solid #000;
+ padding: 5px;
+}
+
+#fileinput button {
+ border: none;
+ padding: 5px;
+ background-color: #00a297;
+ color: #fff;
+ border-radius: 5px;
+ cursor: pointer;
+ margin: 0 5px;
+}
+
+#fileinput tr:nth-child(2n) {
+ background-color: #dcdcdc;
+}
+
+#fileinput .hide {
+ display: none;
+}
+
+#fileinput .c1 {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: rgba(0, 0, 0, .5);
+ z-index: 2;
+}
+
+#fileinput .c2 {
+ background-color: white;
+ position: fixed;
+ width: 400px;
+ height: 300px;
+ top: 50%;
+ left: 50%;
+ z-index: 3;
+ margin-top: -150px;
+ margin-left: -200px;
+}
+
+.cells {
+ height: 100%;
+}
</style>
<template>
<el-container>
<!-- <el-header style="padding: 10px;"></el-header> -->
<el-main>
- <div class="box" @click="dialogFormVisible2 = true">
+ <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
+ <el-table :data="this.alarm" border style="width: 100%;font-size: 25px;">
+ <el-table-column prop="id" :label="$t('id')"></el-table-column>
+ <el-table-column prop="content" :label="$t('content')"></el-table-column>
+ <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
+ </el-table>
+ </el-dialog>
+ <div class="box" @click="dialogFormVisible2 = true" style="z-index: 999;">
<div class="text">
<!-- Alarm: -->
{{ this.text }}
@@ -268,22 +344,68 @@
{{ $t('Task queue') }}</el-button>
</div>
- <div style="display: flex;align-items: center;">
+ <div style="display: flex;align-items: center;overflow: hidden;">
<div class="blocks" style="position: relative;width: 100%;">
+ <div class="blocks-img" :style="'z-index:99;left:150px;top:555px;'">
+ </div>
+ <div
+ :style="'position: absolute;z-index:99;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';'">
+ </div>
+ <div
+ :style="'position: absolute;z-index:99;left:553px;top:956px;width:110px;height:74px;background-color:' + ShowDeviceList(0) + ';'">
+ </div>
+ <div
+ :style="'position: absolute;z-index:99;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';'">
+ </div>
+ <div
+ :style="'position: absolute;z-index:99;left:800px;top:675px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';'">
+ </div>
+ <div :style="'position: absolute;z-index:1000;left:740px;top:507px;width:230px;height:114px;'">
+ <div v-for="item in cagelist4" :key="item['id']"
+ :style="'display:flex;height:4.55px;position: relative;'">
+ <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+ ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+ </div>
+ </div>
+ </div>
+ <div :style="'position: absolute;z-index:1000;left:740px;top:730px;width:230px;height:90px;'">
+ <div v-for="item in cagelist3" :key="item['id']"
+ :style="'display:flex;height:2.25px;position: relative;'">
+ <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+ ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+ </div>
+ </div>
+ </div>
+ <div :style="'position: absolute;z-index:1000;left:740px;top:830px;width:230px;height:90px;'">
+ <div v-for="item in cagelist2" :key="item['id']"
+ :style="'display:flex;height:2.25px;position: relative;'">
+ <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+ ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+ </div>
+ </div>
+ </div>
+ <div :style="'position: absolute;z-index:1000;left:740px;top:930px;width:230px;height:90px;'">
+ <div v-for="item in cagelist1" :key="item['id']"
+ :style="'display:flex;height:2.25px;position: relative;'">
+ <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+ ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+ </div>
+ </div>
+ </div>
</div>
<div>
- <div style="padding: 10px;display: flex;height:100px;">
+ <div style="padding: 10px;display: flex;height: 300px;flex-wrap: wrap;">
<div v-for="item in tableData" :key="item['cageno']" class="occupy">
<el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
<el-col
- style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
+ style="text-align:left;display:flex;justify-content: space-between;align-items: center;height: 70px;">
+ <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['width'] }}%</span>
</el-col>
<hr style="width:80%;margin: 0 auto;" />
<el-col
style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state']
+ <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['cell']
}}</span>
</el-col>
</div>
@@ -325,6 +447,61 @@
</el-main>
<el-dialog :visible.sync="Importorder" :title="$t('Import order')" top="5vh">
+ <!--鏂囦欢瀵煎叆鏁版嵁椤甸潰-->
+ <div id="" class="container">
+ <div class="header">
+ <div class="btn">
+ <el-button type="primary" @click="importData()">淇濆瓨</el-button>
+
+ <input type="file" id="uploadExcel" multiple @change="Change" />
+ </div>
+ </div>
+ <el-table :data="this.dataList" border style="width: 100%;">
+ <el-table-column prop="Customer" :label="$t('Customer')"></el-table-column>
+ <el-table-column prop="order" :label="$t('Order')"></el-table-column>
+ <el-table-column prop="base" :label="$t('Width')"></el-table-column>
+ <el-table-column prop="height" :label="$t('Height')"></el-table-column>
+ <el-table-column prop="thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column prop="films" :label="$t('Films')"></el-table-column>
+ <el-table-column prop="quantity" :label="$t('No')"></el-table-column>
+ <el-table-column prop="tier" :label="$t('Tier')"></el-table-column>
+ <el-table-column prop="matching" :label="$t('Matching')"></el-table-column>
+ <el-table-column prop="glasstype" :label="$t('Glasstype')"></el-table-column>
+ <el-table-column prop="productname" :label="$t('Productname')"></el-table-column>
+ </el-table>
+ <!-- <table id="table">
+ <thead>
+ <tr>
+ <th>Customer</th>
+ <th>order</th>
+ <th>base</th>
+ <th>height</th>
+ <th>thickness</th>
+ <th>films</th>
+ <th>quantity</th>
+ <th>tier</th>
+ <th>matching</th>
+ <th>glasstype</th>
+ <th>productname</th>
+ </tr>
+ </thead>
+ <tbody style="text-align: center">
+ <tr v-for="item in dataList" :key="item.id">
+ <td>{{ item.Customer }}</td>
+ <td>{{ item.order }}</td>
+ <td>{{ item.base }}</td>
+ <td>{{ item.height }}</td>
+ <td>{{ item.thickness }}</td>
+ <td>{{ item.films }}</td>
+ <td>{{ item.quantity }}</td>
+ <td>{{ item.tier }}</td>
+ <td>{{ item.matching }}</td>
+ <td>{{ item.glasstype }}</td>
+ <td>{{ item.productname }}</td>
+ </tr>
+ </tbody>
+ </table> -->
+ </div>
</el-dialog>
<el-dialog :visible.sync="Measure" :title="$t('Measure')" top="5vh"><!--娴嬮噺椤甸潰-->
@@ -333,16 +510,20 @@
<!--鍔熻兘-->
<div>
<el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
- style="z-index: 999;">
- 浜哄伐鍖归厤</el-button>
-
+ style="z-index: 999;">浜哄伐鍖归厤</el-button>
+ <el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState"
+ style="z-index: 999;">浜哄伐鎷胯蛋</el-button>
+ <el-button type="primary" @click="AnewMeasure()" :disabled="SoftEmergencyStopState"
+ style="z-index: 999;">閲嶆柊娴嬮噺</el-button>
</div>
<!--鏄剧ず-->
- <div style="width:100%;height: 600px;border: 1px solid black;">
- <!--鐜荤拑鍥�-->
- <div
- style="top:0;bottom: 0;left: 0;right: 0;margin: auto;position:absolute;width: 100px;height: 200px;background-color: aqua;line-height: 200px;text-align: center;">
- 100*200
+ <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;margin: auto auto;">
+ <!--鐜荤拑鍥� #81b337-->
+ <div :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin: auto;position:absolute;width:'
+ + (this.LastQueue.glasswidth / 25 * 7) + 'px;height:'
+ + (this.LastQueue.glassheight / 25 * 7) + 'px;line-height: '
+ + (this.LastQueue.glassheight / 25 * 7) + 'px;background-color: #93d2f3;text-align: center;'">
+ {{ this.LastQueue.glasswidth }}*{{ this.LastQueue.glassheight }}
</div>
</div>
@@ -473,20 +654,22 @@
<script>
import {
- home, home2, SelectCageInfo,
+ home, SelectCageInfo,
Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
isAllowReorderings,
- UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue
+ UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue,importData,ManualTake,AnewMeasure
} from "../../api/home";
-import LanguageMixin from '../../lang/LanguageMixin'
+import LanguageMixin from '../../lang/LanguageMixin';
+import * as XLSX from "../../../node_modules/xlsx/xlsx.mjs";
let socket;
export default {
name: "Home",
data() {
return {
+ dataList: [],
tableData1: [],
Measuermode: false,
confirm1: false,
@@ -578,10 +761,11 @@
reset: false,
isQueueWarning: false,
CurrentFrame: [],
- DeviceList: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ DeviceList: [1, 1, 1, 1],
GlassIdList: [],
Scanningmethod: true,
- CurrrentGlassId: ""
+ CurrrentGlassId: "",
+ LastQueue: {}
};
},
created() {
@@ -633,7 +817,10 @@
// this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
// this.car2 = 300 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
}
-
+ // 鑾峰彇璁惧鐘舵��
+ if (obj.DeviceList != null) {
+ this.DeviceList = obj.DeviceList[0];
+ }
this.tableData = obj.tableData[0];
this.cagelist1 = obj.cagelist1[0];
this.cagelist2 = obj.cagelist2[0];
@@ -644,6 +831,7 @@
this.alarm = obj.alarmmg[0];
this.tableData1 = obj.OrderTask[0];
+ this.LastQueue = obj.LastQueue[0];
//鏄惁鍏佽鍑虹墖
@@ -720,13 +908,6 @@
SelectCageInfo("").then(res => {
this.cageinfo = res.data.cageinfo;
this.currentPages = 1;
- });
- //鍔犺浇鐞嗙墖绗肩幓鐠冩暟鎹�
- home2().then(res => {
- this.cagelist1 = res.data.list1;
- this.cagelist2 = res.data.list2;
- this.cagelist3 = res.data.list3;
- this.cagelist4 = res.data.list4;
});
},
//娣诲姞鐞嗙墖绗肩幓鐠�
@@ -850,6 +1031,15 @@
}
}
},
+ //鑾峰彇璁惧鏄剧ず鐘舵��
+ ShowCellList(num) {
+ if (num == null) {
+ return "";
+ } else if (num > 0) {
+ return "gray";
+ // return "rgba(0,0,0,1)";
+ }
+ },
//鑾峰彇璁惧鐜荤拑id
ShowGlassIdList(num) {
if (this.GlassIdList != null && this.GlassIdList.length > 0) {
@@ -860,8 +1050,71 @@
//浜哄伐鍖归厤
ManualMatching() {
this.StorageCageAdd = true;
+ },
+ //浜哄伐鎷胯蛋
+ ManualTake() {
+ let s="123";
+ ManualTake(s).then(res => {
+ if (res.data.message == 200) {
+ console.log(res.data.message);
+ }
+ })
+ },
+ //閲嶆柊娴嬮噺
+ AnewMeasure() {
+ let s="123";
+ AnewMeasure(s).then(res => {
+ if (res.data.message == 200) {
+ console.log(res.data.message);
+ }
+ })
+ },
+ Change(event) {
+ // 鑾峰彇鍒版枃浠跺す
+ let fileList = event.target.files;
+ // 濡傛灉鏁版嵁涓嶄负绌�
+ if (fileList) {
+ // FileReader鏄竴绉嶅紓姝ユ枃浠惰鍙栨満鍒讹紝缁撳悎input:file鍙互寰堟柟渚跨殑璇诲彇鏈湴鏂囦欢銆�
+ let reader = new FileReader();
+ let file = fileList[0]; //鎷垮埌绗竴鏉℃暟鎹�
+ reader.readAsBinaryString(file)// 灏嗘枃浠朵互浜岃繘鍒跺舰寮忚鍏ラ〉闈�
+ let _this = this //鎶奷ata閲岀殑鏁版嵁璧嬪�肩粰鏂扮殑鍙橀噺
+ // wb:wordbook 宸ヤ綔琛�
+ reader.addEventListener("load", function (e) {
+
+ var data = e.target.result; //璇诲彇鎴愬姛鍚巖esult涓殑鏁版嵁
+ var wb = XLSX.read(data, { type: "binary" });
+ let sheetName = wb.SheetNames[0]; //鏄幏鍙朣heets涓涓�涓猄heet鐨勫悕瀛�
+ let sheets = wb.Sheets[sheetName];
+ let dataList2 = JSON.stringify(XLSX.utils.sheet_to_json(sheets));
+ let dataList3 = (JSON.parse(dataList2));
+ _this.dataList = dataList3;//璧嬪��
+ //console.log(dataList2);
+ console.log(dataList3);
+
+ })
+ }
+ },
+ Add() {
+
+ },
+ importData() {
+ alert(1);
+ //let tbdata=JSON.stringify(this.dataList);
+ let tbdata=this.dataList;
+ console.log(tbdata);
+ importData(tbdata).then(res => {
+ if (res.data.message == 200) {
+ //this.$message.success(this.$t('Operation successful'));
+ }
+ });
+ },
+ del() {
+
+ this.StorageCageAdd = true;
}
+
}
}
</script>
--
Gitblit v1.8.0