From b175a9fb3fcd6d7ed1196a8c4c303f1bc6372d91 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 09 四月 2024 14:27:09 +0800
Subject: [PATCH] 调整测量图形显示
---
Albania_Mes-ui/src/views/home/index.vue | 239 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 141 insertions(+), 98 deletions(-)
diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index 4cf0f78..0d6fdfb 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -89,7 +89,7 @@
background-attachment: local;
width: 1200px;
position: absolute;
- background-image: url(/img/car.c2f92670.png);
+ background-image: url('../../img/car.png');
background-size: 800px 1200px;
}
@@ -302,12 +302,23 @@
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 }}
@@ -333,28 +344,52 @@
{{ $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:999;left:150px;top:555px;'">
+ <div class="blocks-img" :style="'z-index:999;left:150px;top:'+carposition+'px;'">
</div>
<div
- :style="'position: absolute;z-index:999;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';;'">
+ :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:999;left:553px;top:956px;width:110px;height:74px;background-color:' + ShowDeviceList(0) + ';;'">
+ :style="'position: absolute;z-index:1000;left:553px;top:'+(400+carposition)+'px;width:110px;height:88px;background-color:' + ShowDeviceList(0) + ';'">
</div>
<div
- :style="'position: absolute;z-index:999;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
+ :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:999;left:800px;top:675px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
+ :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:999;left:740px;top:930px;width:230px;height:90px;background-color:' + ShowDeviceList(0) + ';;'">
- <div v-for="item in cagelist1" :key="item['number']">
- <div v-for="(num) in item['number']" :key="num">
- 1
+ <div :style="'position: absolute;z-index:99;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:100;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:100;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:100;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>
@@ -386,7 +421,7 @@
<el-table-column :min-width="100" :label="$t('Terminate Task')">
<template slot-scope='scope'>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- @click="FinishTask(0, scope.row.id)">{{ $t('Complete') }}</el-button>
+ @click="FinishTask(scope.row.id)">{{ $t('Complete') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -402,7 +437,7 @@
<el-table-column :min-width="100" :label="$t('Terminate Task')">
<template slot-scope='scope'>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- @click="FinishTask(1, scope.row.id)">{{ $t('Complete') }}</el-button>
+ @click="FinishTask(scope.row.id)">{{ $t('Complete') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -413,83 +448,72 @@
</el-main>
<el-dialog :visible.sync="Importorder" :title="$t('Import order')" top="5vh">
<!--鏂囦欢瀵煎叆鏁版嵁椤甸潰-->
- <div id="fileinput" class="container">
+ <div id="" class="container">
<div class="header">
<div class="btn">
<el-button type="primary" @click="importData()">淇濆瓨</el-button>
- </div>
- <div class="inp">
+
<input type="file" id="uploadExcel" multiple @change="Change" />
</div>
</div>
- <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[0] }}</td>
- <td>{{ item[1] }}</td>
- <td>{{ item[2] }}</td>
- <td>{{ item[3] }}</td>
- <td>{{ item[4] }}</td>
- <td>{{ item[5] }}</td>
- <td>{{ item[6] }}</td>
- <td>{{ item[7] }}</td>
- <td>{{ item[8] }}</td>
- <td>{{ item[9] }}</td>
- <td>{{ item[10] }}</td> -->
- <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>
+ <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>
</div>
</el-dialog>
<el-dialog :visible.sync="Measure" :title="$t('Measure')" top="5vh"><!--娴嬮噺椤甸潰-->
<!--娴嬮噺椤甸潰涓讳綋-->
- <div>
+ <div style="height: 780px;">
<!--鍔熻兘-->
<div>
<el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
- style="z-index: 999;">浜哄伐鍖归厤</el-button>
+ style="z-index: 999;">{{ $t('Manual matching') }}</el-button>
<el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState"
- style="z-index: 999;">浜哄伐鎷胯蛋</el-button>
+ style="z-index: 999;">{{ $t('Manual removal') }}</el-button>
<el-button type="primary" @click="AnewMeasure()" :disabled="SoftEmergencyStopState"
- style="z-index: 999;">閲嶆柊娴嬮噺</el-button>
+ style="z-index: 999;">{{ $t('Remeasure') }}</el-button>
</div>
+ <br>
<!--鏄剧ず-->
- <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;margin: auto auto;">
+ <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;float: left;">
<!--鐜荤拑鍥� #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 :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin:'+((1000-(this.LastQueue.glasswidth / 25 * 7))/2)+'px auto;'+
+ 'width:'+ (this.LastQueue.glasswidth / 25 * 7) + 'px;'+
+ 'height:'+ (this.LastQueue.glassheight / 25 * 7) + 'px;'+
+ 'line-height: '+ (this.LastQueue.glassheight / 25 * 7) + 'px;'+
+ 'background-color: '+ (this.LastQueue.state>0?'#4CCCE4':(this.LastQueue.state==0?'#E4CA4C':'#E4CA4C'))+
+ ';text-align: center;'">
+ {{ this.LastQueue.glasswidth!=null?(this.LastQueue.glasswidth+"*"+this.LastQueue.glassheight):"" }}
</div>
+ </div>
+ <!--鏄剧ず-->
+ <div style="width:20px;height: 720px;float: left;"></div>
+ <div style="width:500px;height: 620px;border: 2px solid #d1d1d1;float: left;padding: 50px 50px;">
+ <!--鐜荤拑鍥� #81b337-->
+ <span class="measuretitle">{{ $t('Width') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glasswidth }}</span> <span class="measureUnit">mm</span>
+ <br>
+ <span class="measuretitle">{{ $t('Height') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glassheight }}</span> <span class="measureUnit">mm</span>
+ <br>
+ <span class="measuretitle">{{ $t('Thickness') }}锛�</span> <span class="measureValue">{{ this.LastQueue.thickness }}</span> <span class="measureUnit">mm</span>
+ <br>
+ <span class="measuretitle">{{ $t('Measure Width') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glasswidthmm }}</span> <span class="measureUnit">mm</span>
+ <br>
+ <span class="measuretitle">{{ $t('Measure Height') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glassheightmm }}</span> <span class="measureUnit">mm</span>
+ <br>
+ <span class="measuretitle">{{ $t('Matching results') }}锛�</span> <span class="measureValue">{{ this.LastQueue.state>0?$t('Matching successful'):(this.LastQueue.state==0?$t('Multiple data matching'):$t('Matching failed')) }}</span>
+ <br>
</div>
</div>
</el-dialog>
@@ -502,26 +526,23 @@
<el-table-column :min-width="80" prop="glassWidth" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="80" prop="glassHeight" :label="$t('Height')"></el-table-column>
<el-table-column :min-width="80" prop="thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column :min-width="80" prop="films" :label="$t('Films')"></el-table-column>
<el-table-column :min-width="80" prop="number" :label="$t('number')"></el-table-column>
<el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="250" :label="$t('Operate')">
<template slot-scope='scope'>
-
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
@click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
{{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
-
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="(scope.row.width < scope.row.glassWidth + 100 ? true : false)"
@click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 1)">{{ $t('Add')
}}
</el-button>
-
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="scope.row.number >= 1 ? false : true"
@click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, -1)">{{ $t('Reduce')
}}</el-button>
-
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="scope.row.number >= 1 ? false : true"
@click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 0)">{{ $t('Delete')
@@ -556,23 +577,29 @@
</el-table-column>
<el-table-column prop="state" :label="$t('Task State')">
<template slot-scope='scope'>
- {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Start') : $t('Stop') : "" }}
+ {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Stop') : $t('Start') : "" }}
</template>
</el-table-column>
<el-table-column prop="method" :label="$t('Task Method')">
<template slot-scope='scope'>
{{ scope.row.state >= 0 ? scope.row.method == 0 ? $t('Out') : $t('All Out') : "" }}
</template>
-
</el-table-column>
<el-table-column prop="line" :label="$t('Task Line')">
</el-table-column>
- <el-table-column width="220" :label="$t('Operate')">
+ <el-table-column width="300" :label="$t('Operate')">
+
<template slot-scope='scope'>
+ <el-select v-model="selected[scope.$index]" :placeholder="$t('Line')"
+ v-show="scope.row.state >= 0 ? true : false">
+ <el-option v-for="item in options" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
v-show="scope.row.state >= 0 ? true : false"
- @click="ClaimTasks(scope.row.flowcard, scope.row.state)">
- {{ scope.row.status == '0' ? $t('Start Task') : $t('Stop Task') }}</el-button>
+ @click="ClaimTasks(scope.row.flowcard, scope.row.state, selected[scope.$index])">
+ {{ scope.row.state > 0 ? $t('Stop Task') : $t('Start Task') }}</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
v-show="scope.row.state >= 0 ? true : false"
@@ -598,6 +625,7 @@
</div>
<el-table :data="this.StorageCageAddInfo" :height="700" border style="width: 100%;overflow: auto;">
<el-table-column prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+ <el-table-column prop="tier" :label="$t('Tier')"></el-table-column>
<el-table-column prop="glasstype" :label="$t('GlassType')"></el-table-column>
<el-table-column prop="width" :label="$t('Width')"></el-table-column>
<el-table-column prop="height" :label="$t('Height')"></el-table-column>
@@ -622,7 +650,7 @@
Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
isAllowReorderings,
- UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue,importData,ManualTake,AnewMeasure
+ UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure
} from "../../api/home";
@@ -633,6 +661,15 @@
name: "Home",
data() {
return {
+ carposition:0,
+ selected: [],
+ options: [{
+ value: '1',
+ label: '1'
+ }, {
+ value: '2',
+ label: '2'
+ }],
dataList: [],
tableData1: [],
Measuermode: false,
@@ -773,13 +810,8 @@
socket.onmessage = function (msg) {
//console.log("鏀跺埌鏁版嵁====" + msg.data);
let obj = JSON.parse(msg.data);
- if (obj.params != null) {
- var zhi1 = obj.params[0][0];
- var zhi2 = obj.params[0][1];
- this.car1 = 145 + 8.15 * Math.abs(zhi1 - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
- this.car2 = 210 + 8.15 * Math.abs(zhi2 - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
- // 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.carposition != null){
+ this.carposition = obj.carposition[0];
}
// 鑾峰彇璁惧鐘舵��
if (obj.DeviceList != null) {
@@ -824,7 +856,7 @@
socket.onclose = function () {
console.log("websocket宸插叧闂�");
};
- //鍙戠敓浜嗛敊璇簨浠�
+ //鍙戠敓浜嗛敊璇簨浠�
socket.onerror = function () {
console.log("websocket鍙戠敓浜嗛敊璇�");
}
@@ -880,6 +912,7 @@
StorageCageAddGlass(this.cell, this.StorageCageAddInfo[index]).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
+ this.StorageCageAdd=false;
}
})
} else {
@@ -894,8 +927,8 @@
},
//棰嗗彇/鏆傚仠浠诲姟
- ClaimTasks(flowcard, state) {
- ClaimTasks(flowcard, state).then(res => {
+ ClaimTasks(flowcard, state, line) {
+ ClaimTasks(flowcard, state, line).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
}
@@ -916,9 +949,9 @@
})
},
//瀹屾垚杩�/鍑虹墖浠诲姟
- FinishTask(tasktype, id) {
- FinishTask(tasktype, id).then(res => {
- if (res.data.message3 == 200) {
+ FinishTask(id) {
+ FinishTask(id).then(res => {
+ if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
}
});
@@ -927,6 +960,7 @@
UpdateStroageCageByCell(cell, nownum, num) {
if (nownum == null && num == 1) {
this.StorageCageAdd = true;
+ this.Measuermode=true;
this.cell = cell;
} else {
if (nownum + num == 0) {
@@ -995,6 +1029,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) {
@@ -1005,10 +1048,11 @@
//浜哄伐鍖归厤
ManualMatching() {
this.StorageCageAdd = true;
+ this.Measuermode=false;
},
//浜哄伐鎷胯蛋
ManualTake() {
- let s="123";
+ let s = "123";
ManualTake(s).then(res => {
if (res.data.message == 200) {
console.log(res.data.message);
@@ -1017,7 +1061,7 @@
},
//閲嶆柊娴嬮噺
AnewMeasure() {
- let s="123";
+ let s = "123";
AnewMeasure(s).then(res => {
if (res.data.message == 200) {
console.log(res.data.message);
@@ -1054,13 +1098,12 @@
},
importData() {
-
//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'));
+ this.$message.success(this.$t('Operation successful'));
}
});
},
--
Gitblit v1.8.0