Compare commits
14 Commits
65a30bae9c
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| f0562eade5 | |||
| 396e09f696 | |||
| 0402b24568 | |||
| dcbece43f8 | |||
| 4cd26e2f47 | |||
| 35c3b18b0c | |||
| b31e9539fd | |||
| 72af437415 | |||
| 3e6712ddc5 | |||
| 8d0c0feb72 | |||
| 47895cfcf5 | |||
| b907cb88f2 | |||
| 0fc8003621 | |||
| ecc16ce276 |
@@ -3,5 +3,6 @@ ENV = 'production'
|
||||
|
||||
# base api
|
||||
VUE_APP_BASE_API = ''
|
||||
VUE_APP_WB_API = 'a.wms.picaiba.com'
|
||||
VUE_APP_REPORT_DESIGN_URL = '/ureport/designer'
|
||||
VUE_APP_REPORT_VIEW_URL = '/ureport/preview'
|
||||
|
||||
2
dist/index.html
vendored
2
dist/index.html
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
dist/static/css/chunk-130d547d.692e3f17.css
vendored
Normal file
1
dist/static/css/chunk-130d547d.692e3f17.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.app-container[data-v-3a23e516]{width:100%;height:200px}.waring[data-v-3a23e516]{padding:5px;border-radius:5px;background-color:#f56c6c;color:#fff}.normal[data-v-3a23e516]{padding:5px;border-radius:5px;background-color:#67c23a;color:#fff}
|
||||
File diff suppressed because one or more lines are too long
1
dist/static/css/chunk-fc6258c6.923bc0fc.css
vendored
Normal file
1
dist/static/css/chunk-fc6258c6.923bc0fc.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.app-container[data-v-3a23e516]{width:100%;height:200px}.waring[data-v-3a23e516]{padding:5px;border-radius:5px;background-color:#f56c6c;color:#fff}.normal[data-v-3a23e516]{padding:5px;border-radius:5px;background-color:#67c23a;color:#fff}.btn-container[data-v-2e322fe2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.btndiv[data-v-2e322fe2]{width:20%;height:100px;margin:auto}.box-card[data-v-2e322fe2]{background-color:#3e8ef7;margin:10px;color:#fff}
|
||||
1
dist/static/js/app.6fb7a37a.js
vendored
Normal file
1
dist/static/js/app.6fb7a37a.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/app.b1b205d2.js
vendored
1
dist/static/js/app.b1b205d2.js
vendored
File diff suppressed because one or more lines are too long
1
dist/static/js/chunk-130d547d.3fa1079f.js
vendored
Normal file
1
dist/static/js/chunk-130d547d.3fa1079f.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/chunk-commons.362bfd6c.js
vendored
1
dist/static/js/chunk-commons.362bfd6c.js
vendored
File diff suppressed because one or more lines are too long
1
dist/static/js/chunk-commons.9487cd40.js
vendored
Normal file
1
dist/static/js/chunk-commons.9487cd40.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/chunk-fc6258c6.2ed177c7.js
vendored
Normal file
1
dist/static/js/chunk-fc6258c6.2ed177c7.js
vendored
Normal file
File diff suppressed because one or more lines are too long
13
src/App.vue
13
src/App.vue
@@ -1,3 +1,10 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-03-14 10:58:37
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-29 10:02:02
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div id="app">
|
||||
<router-view />
|
||||
@@ -11,3 +18,9 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
#app {
|
||||
background-color: #f2f4f9;
|
||||
}
|
||||
</style>
|
||||
|
||||
244
src/api/EAP.js
Normal file
244
src/api/EAP.js
Normal file
@@ -0,0 +1,244 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function AlarmCleared() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendAlarmClearedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function AlarmDetected() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendAlarmDetectedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function CompleteProcessFlow() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendCompleteProcessFlowEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ControlStateLocal() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendControlStateLocalEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ControlStateRemote() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendControlStateRemoteEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function E10StateChanged() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendE10StateChangedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function EmptyCassettereport() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendEmptyCassettereportEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function EquipmentOffline() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendEquipmentOfflineEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function MaintenancePlan() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendMaintenancePlanEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function MaintenanceRecord() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendMaintenanceRecordEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function MaterialReceived() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendMaterialReceivedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function MaterialRemoved() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendMaterialRemovedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function OKsubstratereport() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendOKsubstratereportEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function PowerConsumption() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendPowerConsumptionEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ProcessingCompleted() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendProcessingCompletedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ProcessingStarted() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendProcessingStartedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ProcessingStopped() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendProcessingStoppedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function QCPChange() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendQCPChangeEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function RepairRecord() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendRepairRecordEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function Scrapsubstratereport() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendScrapsubstratereportEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ShuttleMovementFinished() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendShuttleMovementFinishedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function ShuttleMovementStart() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendShuttleMovementStartEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function SpoolTransmitFailure() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendSpoolTransmitFailureEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function SpoolingActivated() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendSpoolingActivatedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function SpoolingDeactivated() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendSpoolingDeactivatedEvent',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function DisableEnableCommunication(data) {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendDisableEnableCommunication',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'text/plain'
|
||||
},
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getCommunicationState() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/communicationState/get',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function getcontrollerState() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/controllerState/get',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function sendControllerState(data) {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendControllerState',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'text/plain'
|
||||
},
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function sendEqpState(data) {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendEqpState',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'text/plain'
|
||||
},
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function sendReportLinkedEventAndVid() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendReportLinkedEventAndVid',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function sendSecsGemSetting() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendSecsGemSetting',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function sendAlarmReport() {
|
||||
return request({
|
||||
url: '/cigs-00a/IL1testcontroller/post/sendAlarmReport',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Date: 2020-12-14 09:07:03
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2021-06-22 09:07:41
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-21 14:22:47
|
||||
* @FilePath: \basic-admin\src\components\BaseTable\index.vue
|
||||
* @Description:
|
||||
-->
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-01-27 10:07:42
|
||||
* @LastEditTime: 2021-01-28 16:26:15
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-06-20 16:57:55
|
||||
* @LastEditors: zwq
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \mt-bus-fe\src\components\Breadcrumb\index.vue
|
||||
-->
|
||||
@@ -10,7 +10,7 @@
|
||||
<el-breadcrumb class="app-breadcrumb" separator="/">
|
||||
<transition-group name="breadcrumb">
|
||||
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
|
||||
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1">{{ item.meta.title }}</span>
|
||||
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="isredirect">{{ item.meta.title }}</span>
|
||||
<span v-else class="no-redirect">{{ item.meta.title }}</span>
|
||||
<!-- @click.prevent="handleLink(item)" -->
|
||||
</el-breadcrumb-item>
|
||||
@@ -80,11 +80,13 @@ export default {
|
||||
.app-breadcrumb.el-breadcrumb {
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
line-height: 50px;
|
||||
line-height: 48px;
|
||||
margin-left: 8px;
|
||||
|
||||
.isredirect {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
}
|
||||
.no-redirect {
|
||||
color: #97a8be;
|
||||
color: #8C8C8C;
|
||||
cursor: text;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
<template>
|
||||
<div style="padding: 0 15px;" @click="toggleClick">
|
||||
<svg
|
||||
:class="{'is-active':isActive}"
|
||||
class="hamburger"
|
||||
viewBox="0 0 1024 1024"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="64"
|
||||
height="64"
|
||||
>
|
||||
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
|
||||
</svg>
|
||||
<div style="padding: 5px 15px 5px 32px;" @click="toggleClick">
|
||||
<svg-icon style="width: 24px; height: 24px" class="item-icon hamburger" :class="{'is-active':isActive}" icon-class="hamburgerBtn" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div :class="{'hidden':hidden}" class="pagination-container">
|
||||
<el-pagination
|
||||
small
|
||||
:background="background"
|
||||
:current-page.sync="currentPage"
|
||||
:page-size.sync="pageSize"
|
||||
@@ -93,7 +94,9 @@ export default {
|
||||
<style scoped>
|
||||
.pagination-container {
|
||||
background: #fff;
|
||||
padding: 32px 16px;
|
||||
padding-top: 20px;
|
||||
text-align: right;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.pagination-container.hidden {
|
||||
display: none;
|
||||
|
||||
14
src/icons/svg/countdown.svg
Normal file
14
src/icons/svg/countdown.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="选择" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="首页选择" transform="translate(-1492.000000, -20.000000)" fill-rule="nonzero">
|
||||
<g id="banner/top" transform="translate(1.000000, -0.000000)">
|
||||
<g id="倒计时" transform="translate(1491.000000, 20.000000)">
|
||||
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M18.6251339,2.5 L18.7173046,2.506884 C19.0181775,2.55223577 19.25,2.81622235 19.25,3.13636364 C19.25,3.48849651 18.9695089,3.77267387 18.6250952,3.77272728 L18.6250952,3.77272728 L17.500134,3.77272728 L17.500134,6.68181819 L17.4950738,6.93194703 C17.4134263,8.92636566 16.3486624,10.7533909 14.6512846,11.7864428 L14.6512846,11.7864428 L14.3002984,12.0000588 L14.6513368,12.2135889 L14.8602283,12.3467668 C16.5045868,13.4445685 17.5015027,15.3107448 17.500134,17.3180114 L17.500134,17.3180114 L17.500134,20.2272727 L18.6251339,20.2272727 L18.7173078,20.2341693 C19.0181892,20.2795564 19.25,20.5435156 19.25,20.8636364 C19.25,21.2157918 18.9694948,21.5 18.6251339,21.5 L18.6251339,21.5 L4.62513396,21.5 L4.53296333,21.493116 C4.23209038,21.4477642 4.00026791,21.1837777 4.00026791,20.8636364 C4.00026791,20.5115035 4.28075902,20.2273261 4.62517273,20.2272727 L4.62517273,20.2272727 L5.75013395,20.2272727 L5.75013395,17.3181818 L5.75519413,17.068053 C5.8368416,15.0736343 6.90160547,13.2466092 8.59898334,12.2135572 L8.59898334,12.2135572 L8.94996946,11.9999412 L8.59893115,11.7864111 L8.39003962,11.6532332 C6.74568111,10.5554315 5.74876521,8.68925518 5.75013389,6.68198865 L5.75013389,6.68198865 L5.75013395,3.77272728 L4.62513396,3.77272728 L4.53097506,3.76549115 C4.34557884,3.73677723 4.18042961,3.62417437 4.08444297,3.45578133 C3.97185234,3.2582593 3.97185234,3.01446799 4.08444297,2.81694595 C4.196414,2.6205109 4.40253386,2.5 4.62513396,2.5 L4.62513396,2.5 L18.6251339,2.5 Z M11.6309675,12.6364317 L11.4133705,12.641183 C8.9566894,12.7532313 7.00013396,14.805007 7.00013396,17.3181818 L7.00013396,17.3181818 L7.00013396,20.2272727 L16.2501339,20.2272727 L16.2501339,17.3181818 L16.2450986,17.0982663 C16.1348575,14.6926999 14.227663,12.7467226 11.8259996,12.6410372 L11.8259996,12.6410372 L11.6309675,12.6364317 Z M16.2501339,3.77272728 L7.00013396,3.77272728 L7.00013396,6.68181819 L7.00489156,6.89606874 C7.1155058,9.38167112 9.1410632,11.3636364 11.625134,11.3636364 L11.625134,11.3636364 L11.8208425,11.3591365 L12.0382189,11.3444826 C14.4134338,11.1283734 16.2499952,9.11397106 16.2501339,6.68183244 L16.2501339,6.68183244 L16.2501339,3.77272728 Z" id="形状结合" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
15
src/icons/svg/countdown2.svg
Normal file
15
src/icons/svg/countdown2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="1_基础资料" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="1-1工厂信息" transform="translate(-1446.000000, -20.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<g id="banner/top/栏" transform="translate(336.000000, 0.000000)">
|
||||
<g id="编组-5" transform="translate(944.000000, 15.000000)">
|
||||
<g id="倒计时" transform="translate(166.000000, 5.000000)">
|
||||
<rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M18.6251339,2.5 L18.7173046,2.506884 C19.0181775,2.55223577 19.25,2.81622235 19.25,3.13636364 C19.25,3.48849651 18.9695089,3.77267387 18.6250952,3.77272728 L18.6250952,3.77272728 L17.500134,3.77272728 L17.500134,6.68181819 L17.4950738,6.93194703 C17.4134263,8.92636566 16.3486624,10.7533909 14.6512846,11.7864428 L14.6512846,11.7864428 L14.3002984,12.0000588 L14.6513368,12.2135889 L14.8602283,12.3467668 C16.5045868,13.4445685 17.5015027,15.3107448 17.500134,17.3180114 L17.500134,17.3180114 L17.500134,20.2272727 L18.6251339,20.2272727 L18.7173078,20.2341693 C19.0181892,20.2795564 19.25,20.5435156 19.25,20.8636364 C19.25,21.2157918 18.9694948,21.5 18.6251339,21.5 L18.6251339,21.5 L4.62513396,21.5 L4.53296333,21.493116 C4.23209038,21.4477642 4.00026791,21.1837777 4.00026791,20.8636364 C4.00026791,20.5115035 4.28075902,20.2273261 4.62517273,20.2272727 L4.62517273,20.2272727 L5.75013395,20.2272727 L5.75013395,17.3181818 L5.75519413,17.068053 C5.8368416,15.0736343 6.90160547,13.2466092 8.59898334,12.2135572 L8.59898334,12.2135572 L8.94996946,11.9999412 L8.59893115,11.7864111 L8.39003962,11.6532332 C6.74568111,10.5554315 5.74876521,8.68925518 5.75013389,6.68198865 L5.75013389,6.68198865 L5.75013395,3.77272728 L4.62513396,3.77272728 L4.53097506,3.76549115 C4.34557884,3.73677723 4.18042961,3.62417437 4.08444297,3.45578133 C3.97185234,3.2582593 3.97185234,3.01446799 4.08444297,2.81694595 C4.196414,2.6205109 4.40253386,2.5 4.62513396,2.5 L4.62513396,2.5 L18.6251339,2.5 Z M11.6309675,12.6364317 L11.4133705,12.641183 C8.9566894,12.7532313 7.00013396,14.805007 7.00013396,17.3181818 L7.00013396,17.3181818 L7.00013396,20.2272727 L16.2501339,20.2272727 L16.2501339,17.3181818 L16.2450986,17.0982663 C16.1348575,14.6926999 14.227663,12.7467226 11.8259996,12.6410372 L11.8259996,12.6410372 L11.6309675,12.6364317 Z M16.2501339,3.77272728 L7.00013396,3.77272728 L7.00013396,6.68181819 L7.00489156,6.89606874 C7.1155058,9.38167112 9.1410632,11.3636364 11.625134,11.3636364 L11.625134,11.3636364 L11.8208425,11.3591365 L12.0382189,11.3444826 C14.4134338,11.1283734 16.2499952,9.11397106 16.2501339,6.68183244 L16.2501339,6.68183244 L16.2501339,3.77272728 Z" id="形状结合"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
15
src/icons/svg/download.svg
Normal file
15
src/icons/svg/download.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="1_基础资料" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="1-1工厂信息" transform="translate(-1580.000000, -20.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<g id="banner/top/栏" transform="translate(336.000000, 0.000000)">
|
||||
<g id="编组-5" transform="translate(944.000000, 15.000000)">
|
||||
<g id="下载" transform="translate(300.000000, 5.000000)">
|
||||
<rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M7.6875,13.5 L11.25,13.5 L11.25,3.75 C11.25,3.33578644 11.5857864,3 12,3 C12.4142136,3 12.75,3.33578644 12.75,3.75 L12.75,13.5 L12.75,13.5 L16.3125,13.5 L12,18 L7.6875,13.5 Z M20.25,12 C19.8357864,12 19.5,12.3357864 19.5,12.75 L19.5,18.5 C19.5,19.0522847 19.0522847,19.5 18.5,19.5 L5.5,19.5 C4.94771525,19.5 4.5,19.0522847 4.5,18.5 L4.5,12.75 C4.5,12.3357864 4.16421356,12 3.75,12 C3.33578644,12 3,12.3357864 3,12.75 L3,19 C3,20.1045695 3.8954305,21 5,21 L19,21 C20.1045695,21 21,20.1045695 21,19 L21,12.75 C21,12.3357864 20.6642136,12 20.25,12 Z" id="形状"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
14
src/icons/svg/hamburgerBtn.svg
Normal file
14
src/icons/svg/hamburgerBtn.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>outdent</title>
|
||||
<g id="质量管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="质量追溯_设备参数追溯" transform="translate(-368.000000, -20.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<g id="编组-18" transform="translate(336.000000, 0.000000)">
|
||||
<g id="outdent" transform="translate(44.000000, 32.000000) scale(-1, 1) translate(-44.000000, -32.000000) translate(32.000000, 20.000000)">
|
||||
<rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M9.5625,10.359375 L20.8125,10.359375 C20.915625,10.359375 21,10.275 21,10.171875 L21,8.859375 C21,8.75625 20.915625,8.671875 20.8125,8.671875 L9.5625,8.671875 C9.459375,8.671875 9.375,8.75625 9.375,8.859375 L9.375,10.171875 C9.375,10.275 9.459375,10.359375 9.5625,10.359375 Z M9.375,15.140625 C9.375,15.24375 9.459375,15.328125 9.5625,15.328125 L20.8125,15.328125 C20.915625,15.328125 21,15.24375 21,15.140625 L21,13.828125 C21,13.725 20.915625,13.640625 20.8125,13.640625 L9.5625,13.640625 C9.459375,13.640625 9.375,13.725 9.375,13.828125 L9.375,15.140625 Z M21.1875,3.75 L2.8125,3.75 C2.709375,3.75 2.625,3.834375 2.625,3.9375 L2.625,5.25 C2.625,5.353125 2.709375,5.4375 2.8125,5.4375 L21.1875,5.4375 C21.290625,5.4375 21.375,5.353125 21.375,5.25 L21.375,3.9375 C21.375,3.834375 21.290625,3.75 21.1875,3.75 Z M21.1875,18.5625 L2.8125,18.5625 C2.709375,18.5625 2.625,18.646875 2.625,18.75 L2.625,20.0625 C2.625,20.165625 2.709375,20.25 2.8125,20.25 L21.1875,20.25 C21.290625,20.25 21.375,20.165625 21.375,20.0625 L21.375,18.75 C21.375,18.646875 21.290625,18.5625 21.1875,18.5625 Z M2.7046875,12.1617187 L6.36796875,15.046875 C6.50390625,15.1546875 6.70546875,15.0585937 6.70546875,14.8851562 L6.70546875,9.11484375 C6.70546875,8.94140625 6.50625,8.8453125 6.36796875,8.953125 L2.7046875,11.8382812 C2.59921875,11.9203125 2.59921875,12.0796875 2.7046875,12.1617187 Z" id="形状" fill-opacity="0.65"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
13
src/icons/svg/introduce.svg
Normal file
13
src/icons/svg/introduce.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="选择" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.903721">
|
||||
<g id="首页选择" transform="translate(-1873.000000, -20.000000)">
|
||||
<g id="banner/top" transform="translate(1.000000, -0.000000)">
|
||||
<g id="编组" transform="translate(1872.000000, 20.000000)">
|
||||
<rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="23" height="23"></rect>
|
||||
<path d="M11.310182,10.3337823 C12.5601874,9.70367185 13.51051,9.44503668 13.9702819,9.64581368 C14.472601,9.8651991 14.5084688,10.7360792 14.1222621,12.1103343 C14.0263593,12.4515891 13.9079191,12.8128586 13.7663384,13.204699 L13.7663384,13.204699 L13.1755703,14.7700352 L13.1356173,14.8923194 C12.9377283,15.712423 12.7983671,16.8200017 12.912421,17.6028055 C13.0909539,18.8281585 13.8745484,19.1391381 15.1518197,18.2618535 L15.1518197,18.2618535 L15.2431014,18.1949758 L14.9940164,18.4800885 L14.5796447,18.9305355 C13.5052517,20.0760203 12.2512381,20.8876408 11.2037186,21.1562825 C10.2220563,21.4080347 9.60903688,21.1544199 9.47437495,20.4388955 C9.43164291,20.2118661 9.43430014,19.8730341 9.48049136,19.4147347 L9.48049136,19.4147347 L9.52326841,19.0484903 L9.58219677,18.636727 L9.65710251,18.1787264 L9.79903824,17.4034584 L9.91312648,16.8267205 L10.0833225,16.0088515 L10.5653971,13.7726047 L10.7525122,12.8466096 L10.8135626,12.5082623 L10.8593992,12.2197102 C10.892055,11.9945685 10.8447612,11.8140224 10.6819512,11.7150937 C10.5500877,11.6349691 10.4054478,11.6456233 10.2453725,11.7048381 C10.0817522,11.7653643 9.91628553,11.8715133 9.77571237,11.9796145 L9.77571237,11.9796145 L9.57499388,12.1142665 L9.31774645,12.2720806 C9.22286657,12.3279967 9.11972797,12.3863858 9.01094671,12.4447325 C8.79608072,12.5599796 8.5883481,12.6580442 8.39387109,12.7334809 L8.39387109,12.7334809 L8.24743549,12.7868596 L8.11116233,12.82956 C7.76146569,12.9292776 7.52195085,12.916147 7.40687766,12.7986103 L7.40687766,12.7986103 L7.39810145,12.7852594 C7.42648997,12.8080346 7.45483725,12.7948797 7.48619177,12.7687749 L7.48619177,12.7687749 L7.63793148,12.6336999 C7.75465486,12.5374893 7.88430531,12.4463052 7.96282058,12.4045046 L7.96282058,12.4045046 L8.6231747,11.9447563 C9.11169615,11.6130499 9.6289273,11.2813461 10.1513385,10.9720739 C10.5522838,10.7347105 10.9405318,10.5201178 11.310182,10.3337823 Z M13.6878854,2.7492498 L13.8429866,2.75227308 L13.9974951,2.76617758 C15.1180125,2.90704663 15.9546797,3.89345207 15.8920662,5.03876017 C15.8266298,6.23604447 14.8030933,7.15360401 13.6059845,7.08817659 C12.4088582,7.0227508 11.4914496,5.99905482 11.556888,4.80168562 C11.6223247,3.60432538 12.645833,2.68679848 13.8429866,2.75227308 Z" id="形状结合" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
13
src/icons/svg/introduce2.svg
Normal file
13
src/icons/svg/introduce2.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="1_基础资料" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.750912">
|
||||
<g id="1-1工厂信息" transform="translate(-1872.000000, -20.000000)">
|
||||
<g id="banner/top/栏" transform="translate(336.000000, 0.000000)">
|
||||
<g id="编组" transform="translate(1536.000000, 20.000000)">
|
||||
<rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="23" height="23"></rect>
|
||||
<path d="M11.310182,10.3337823 C12.5601874,9.70367185 13.51051,9.44503668 13.9702819,9.64581368 C14.472601,9.8651991 14.5084688,10.7360792 14.1222621,12.1103343 C14.0263593,12.4515891 13.9079191,12.8128586 13.7663384,13.204699 L13.7663384,13.204699 L13.1755703,14.7700352 L13.1356173,14.8923194 C12.9377283,15.712423 12.7983671,16.8200017 12.912421,17.6028055 C13.0909539,18.8281585 13.8745484,19.1391381 15.1518197,18.2618535 L15.1518197,18.2618535 L15.2431014,18.1949758 L14.9940164,18.4800885 L14.5796447,18.9305355 C13.5052517,20.0760203 12.2512381,20.8876408 11.2037186,21.1562825 C10.2220563,21.4080347 9.60903688,21.1544199 9.47437495,20.4388955 C9.43164291,20.2118661 9.43430014,19.8730341 9.48049136,19.4147347 L9.48049136,19.4147347 L9.52326841,19.0484903 L9.58219677,18.636727 L9.65710251,18.1787264 L9.79903824,17.4034584 L9.91312648,16.8267205 L10.0833225,16.0088515 L10.5653971,13.7726047 L10.7525122,12.8466096 L10.8135626,12.5082623 L10.8593992,12.2197102 C10.892055,11.9945685 10.8447612,11.8140224 10.6819512,11.7150937 C10.5500877,11.6349691 10.4054478,11.6456233 10.2453725,11.7048381 C10.0817522,11.7653643 9.91628553,11.8715133 9.77571237,11.9796145 L9.77571237,11.9796145 L9.57499388,12.1142665 L9.31774645,12.2720806 C9.22286657,12.3279967 9.11972797,12.3863858 9.01094671,12.4447325 C8.79608072,12.5599796 8.5883481,12.6580442 8.39387109,12.7334809 L8.39387109,12.7334809 L8.24743549,12.7868596 L8.11116233,12.82956 C7.76146569,12.9292776 7.52195085,12.916147 7.40687766,12.7986103 L7.40687766,12.7986103 L7.39810145,12.7852594 C7.42648997,12.8080346 7.45483725,12.7948797 7.48619177,12.7687749 L7.48619177,12.7687749 L7.63793148,12.6336999 C7.75465486,12.5374893 7.88430531,12.4463052 7.96282058,12.4045046 L7.96282058,12.4045046 L8.6231747,11.9447563 C9.11169615,11.6130499 9.6289273,11.2813461 10.1513385,10.9720739 C10.5522838,10.7347105 10.9405318,10.5201178 11.310182,10.3337823 Z M13.6878854,2.7492498 L13.8429866,2.75227308 L13.9974951,2.76617758 C15.1180125,2.90704663 15.9546797,3.89345207 15.8920662,5.03876017 C15.8266298,6.23604447 14.8030933,7.15360401 13.6059845,7.08817659 C12.4088582,7.0227508 11.4914496,5.99905482 11.556888,4.80168562 C11.6223247,3.60432538 12.645833,2.68679848 13.8429866,2.75227308 Z" id="形状结合" fill="#000000" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -1,7 +1,9 @@
|
||||
export default {
|
||||
title: {
|
||||
// en: 'SCC System',
|
||||
// zh: '玻璃新材料供应链协同生产平台'
|
||||
en: 'ARI WMS',
|
||||
zh: '中建材自动化智能仓库管理系统'
|
||||
zh: '中建材自动化仓库管理系统'
|
||||
},
|
||||
btn: {
|
||||
start: {
|
||||
@@ -265,6 +267,14 @@ export default {
|
||||
zh: '首页',
|
||||
en: 'Home'
|
||||
},
|
||||
eap: {
|
||||
zh: 'EAP',
|
||||
en: 'EAP'
|
||||
},
|
||||
eapControl: {
|
||||
zh: 'EAP控制',
|
||||
en: 'EAP Control'
|
||||
},
|
||||
basic: {
|
||||
zh: '系统管理',
|
||||
en: 'System Manager',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-03-15 16:42:34
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-06 15:53:29
|
||||
* @LastEditTime: 2022-06-21 11:23:55
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\en\module\dashboard.js
|
||||
*/
|
||||
@@ -10,7 +10,7 @@
|
||||
export default {
|
||||
first: 'First Row',
|
||||
second: 'Second Row',
|
||||
title: 'WMS Inventory Information',
|
||||
title: 'Inventory Information',
|
||||
pageHeader: 'No.',
|
||||
pageFooter: ' Page',
|
||||
isEmpty: 'Is Empty',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-03-15 16:42:34
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-07 15:08:30
|
||||
* @LastEditTime: 2022-06-21 11:23:46
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\zh\module\dashboard.js
|
||||
*/
|
||||
@@ -10,7 +10,7 @@
|
||||
export default {
|
||||
first: '第一排',
|
||||
second: '第二排',
|
||||
title: 'WMS库存信息',
|
||||
title: '库存信息',
|
||||
pageHeader: '第',
|
||||
pageFooter: '页',
|
||||
isEmpty: '是否为空',
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2021-09-18 16:09:08
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-29 10:02:58
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<section class="app-main">
|
||||
<transition name="fade-transform" mode="out-in">
|
||||
@@ -24,26 +31,26 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.app-main {
|
||||
/* 50= navbar 50 */
|
||||
min-height: calc(100vh - 50px);
|
||||
/* 64= navbar 64 */
|
||||
min-height: calc(100vh - 64px);
|
||||
width: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fixed-header+.app-main {
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
padding-top: 64px;
|
||||
// padding-bottom: 64px;
|
||||
}
|
||||
|
||||
.hasTagsView {
|
||||
.app-main {
|
||||
/* 84 = navbar + tags-view = 50 + 34 */
|
||||
min-height: calc(100vh - 84px);
|
||||
/* 84 = navbar + tags-view = 64 + 34 */
|
||||
min-height: calc(100vh - 31px);
|
||||
}
|
||||
|
||||
.fixed-header+.app-main {
|
||||
padding-top: 84px;
|
||||
padding-top: 96px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-01-27 10:07:42
|
||||
* @LastEditTime: 2021-03-02 10:11:08
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-06-29 10:03:35
|
||||
* @LastEditors: zwq
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \mt-bus-fe\src\layout\components\FooterBar.vue
|
||||
-->
|
||||
@@ -24,14 +24,18 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
.footerbar{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
// position: fixed;
|
||||
// bottom: 0;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
text-indent: 2em;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
box-shadow: 2px -2px 2px rgba($color: #000000, $alpha: .1);
|
||||
height: 20px;
|
||||
// line-height: 50px;
|
||||
// text-indent: 2em;
|
||||
// background: #fff;
|
||||
// z-index: 999;
|
||||
// box-shadow: 2px -2px 2px rgba($color: #000000, $alpha: .1);
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: #C7C7C7;
|
||||
margin: 5px 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<div class="navbar" :style="showTitle ? 'background: rgba(8,17,50,0.25)' : ''" style="padding-right: 23px;">
|
||||
<hamburger v-if="showhome" id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
|
||||
<div v-if="showTitle" style="font-size: 20px; float: left; font-weight: bold; padding-left: 20px; color: #606266">
|
||||
<img src="../../assets/img/cnbm.png" style="width: 1.6em; height: 1.6em; position: relative; top: .4em" alt="">
|
||||
<div v-if="showTitle" style="color: #fff;font-size: 22px; float: left; letter-spacing: 1px; font-weight: 500; padding-left: 24px; marginTop: 5px">
|
||||
<img src="../../assets/img/cnbm.png" style="width: 26px; height: 26px; position: relative; top: 6px; marginRight: 14px" alt="">
|
||||
{{ 'title' | i18nFilter }}
|
||||
</div>
|
||||
|
||||
@@ -11,35 +11,69 @@
|
||||
|
||||
<div class="right-menu">
|
||||
|
||||
<!-- <div v-if="showhome" class="right-menu-back" @click="toHome">
|
||||
<svg-icon class="item-icon" icon-class="home" />
|
||||
<div v-if="showhome" class="right-menu-back" @click="toHome">
|
||||
<svg-icon class="item-icon" icon-class="home" style="height: 24px; width: 24px; vertical-align: -6px; margin-right: 2px;" />
|
||||
{{ 'navbar.homepage' | i18nFilter }}
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
<el-dropdown :style="showTitle ? 'color: #fff' : '#000'" class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<el-dropdown-menu />
|
||||
<el-badge :hidden="alarmNum>0?false:true" :value="alarmNum" class="item" style="line-height: 0; margin: 0 10px; vertical-align: -3px" @click.native="handleAlarm">
|
||||
<svg-icon style="width: 24px; height: 24px" class="item-icon" icon-class="alarm" />
|
||||
</el-badge>
|
||||
</el-dropdown>
|
||||
<div :style="showTitle ? 'color: #fff' : ''" class="right-menu-back">
|
||||
<svg-icon style="width: 24px; height: 24px; vertical-align: -7px" :icon-class="showTitle ? 'countdown' : 'countdown2'" />
|
||||
{{ formatTime }}
|
||||
</div>
|
||||
<template>
|
||||
<lang-select class="right-menu-item hover-effect" />
|
||||
<lang-select :style="showTitle ? 'color: #fff' : ''" class="right-menu-item hover-effect" :is-show="showTitle" />
|
||||
</template>
|
||||
<div v-if="showhome" class="right-menu-back">
|
||||
<a href="Lodap.zip"><i class="el-icon-download" /></a>
|
||||
<a href="Lodap.zip"><svg-icon style="width: 24px; height: 24px; vertical-align: -7px" icon-class="download" /></a>
|
||||
</div>
|
||||
<!-- <div class="right-menu-back">
|
||||
<i class="el-icon-alarm-clock" />
|
||||
{{ formatTime }}
|
||||
<!-- <div class="right-menu-back" style="color: #fff" @click="$router.push({name: 'VisualCreate'})">
|
||||
可视化配置
|
||||
</div> -->
|
||||
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<!-- <div :style="showTitle ? 'color: #fff' : ''" class="right-menu-back">
|
||||
<svg-icon class="item-icon" icon-class="ntp" />
|
||||
{{ showDay }}
|
||||
{{ showTime }}
|
||||
</div> -->
|
||||
<el-dropdown :style="showTitle ? 'color: #fff' : 'color: #000'" class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<img :src="require('@/assets/img/head.png')" class="user-avatar">
|
||||
<!-- <div class="avatar-username">{{ username }}</div> -->
|
||||
<div class="avatar-username" :title="username">{{ username }}</div>
|
||||
<div class="avatar-roles" :title="roles.join(',')">{{ roles.length>0?roles[0]:'' }}</div>
|
||||
<!-- <i class="el-icon-caret-bottom" /> -->
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<router-link to="/profile/index">
|
||||
<el-dropdown-item>
|
||||
<svg-icon class="item-icon" icon-class="user" />
|
||||
{{ 'navbar.profile' | i18nFilter }}
|
||||
</el-dropdown-item>
|
||||
</router-link>
|
||||
<el-dropdown-item @click.native="toHome">
|
||||
<svg-icon class="item-icon" icon-class="help" />
|
||||
{{ 'navbar.help' | i18nFilter }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="logout">
|
||||
<svg-icon class="item-icon" icon-class="logout" />
|
||||
{{ 'navbar.logOut' | i18nFilter }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<!-- <div class="right-menu-back">
|
||||
<el-tooltip class="item" effect="dark" placement="top">
|
||||
<div slot="content">
|
||||
{{ 'navbar.copyright' | i18nFilter }}<br>
|
||||
{{ 'navbar.versionNum' | i18nFilter }}:v3.0
|
||||
</div>
|
||||
<el-button type="text">
|
||||
<svg-icon icon-class="black-info" />
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
</div> -->
|
||||
<!-- <div class="right-menu-back" @click="toHome">
|
||||
<svg-icon class="item-icon" icon-class="help" />
|
||||
{{ 'navbar.help' | i18nFilter }}
|
||||
@@ -49,6 +83,13 @@
|
||||
<svg-icon class="item-icon" icon-class="logout" />
|
||||
{{ 'navbar.logOut' | i18nFilter }}
|
||||
</div> -->
|
||||
<div :style="showTitle ? 'borderColor: #fff' : 'borderColor: #979797'" class="right-menu-back verticalBar" />
|
||||
<div :style="showTitle ? 'color: #fff' : 'color: red'" class="right-menu-back">
|
||||
<el-tooltip class="item" effect="dark" placement="bottom-end">
|
||||
<div slot="content">{{ 'copyright.copyright' | i18nFilter }}:{{ 'copyright.company' | i18nFilter }} <br>{{ 'copyright.version' | i18nFilter }}:3.0</div>
|
||||
<svg-icon style="width: 24px; height: 24px; vertical-align: -7px" :icon-class="showTitle ? 'introduce' : 'introduce2'" />
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -56,12 +97,15 @@
|
||||
<script>
|
||||
import axios from 'axios'
|
||||
import { mapGetters } from 'vuex'
|
||||
// import { getAlarmNum, getEqAlarmNum, getMESAlarmNum } from '@/api/team-manage/team'
|
||||
// import { downLoadTime } from '@/api/user'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import LangSelect from '@/components/LangSelect'
|
||||
import moment from 'moment'
|
||||
|
||||
let logoutInterval = null
|
||||
const timeInterval = null
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@@ -86,8 +130,16 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
logoutTime: 1800000,
|
||||
alarmList: [],
|
||||
blurTime: null
|
||||
alarmNum: 0,
|
||||
eqAlarmNum: 0,
|
||||
MESAlarmNum: 0,
|
||||
blurTime: null,
|
||||
time: 30,
|
||||
showTime: '',
|
||||
showDay: '',
|
||||
m: '',
|
||||
s: '',
|
||||
h: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -95,7 +147,8 @@ export default {
|
||||
'sidebar',
|
||||
'avatar',
|
||||
'username',
|
||||
'choicepart'
|
||||
'choicepart',
|
||||
'roles'
|
||||
]),
|
||||
formatTime() {
|
||||
return moment(this.logoutTime - 28800000).format('HH:mm:ss')
|
||||
@@ -106,21 +159,31 @@ export default {
|
||||
if (val <= 0) {
|
||||
this.logout()
|
||||
}
|
||||
},
|
||||
$route: function() {
|
||||
this.getAlarm()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.getTime()
|
||||
},
|
||||
mounted() {
|
||||
this.getAlarm()
|
||||
logoutInterval = setInterval(() => {
|
||||
this.logoutTime -= 1000
|
||||
}, 1000)
|
||||
addEventListener('click', this.logoutTimeReset)
|
||||
addEventListener('keydown', this.logoutTimeReset)
|
||||
addEventListener('visibilitychange', this.visibilitychangeListener)
|
||||
},
|
||||
destroyed() {
|
||||
clearInterval(logoutInterval)
|
||||
clearInterval(timeInterval)
|
||||
removeEventListener('click', this.logoutTimeReset)
|
||||
removeEventListener('keydown', this.logoutTimeReset)
|
||||
removeEventListener('visibilitychange', this.visibilitychangeListener)
|
||||
},
|
||||
methods: {
|
||||
// 浏览器失去焦点
|
||||
winBlur() {
|
||||
this.blurTime = new Date()
|
||||
clearInterval(logoutInterval)
|
||||
@@ -138,7 +201,7 @@ export default {
|
||||
},
|
||||
// 重置退出时间
|
||||
logoutTimeReset() {
|
||||
this.logoutTime = 1800000
|
||||
this.logoutTime = this.time * 60000
|
||||
},
|
||||
visibilitychangeListener() {
|
||||
if (document.hidden) {
|
||||
@@ -169,21 +232,47 @@ export default {
|
||||
async toHome() {
|
||||
this.$store.dispatch('app/setChoicepart')
|
||||
this.$router.push('/')
|
||||
},
|
||||
getAlarm() {
|
||||
// getAlarmNum().then(response => {
|
||||
// if (response.data) {
|
||||
// this.alarmNum = response.data.alarmNum
|
||||
// } else {
|
||||
// this.alarmNum = 0
|
||||
// }
|
||||
// })
|
||||
// getEqAlarmNum().then(response => {
|
||||
// if (response.data) {
|
||||
// this.eqAlarmNum = response.data.alarmNum
|
||||
// } else {
|
||||
// this.eqAlarmNum = 0
|
||||
// }
|
||||
// })
|
||||
// getMESAlarmNum().then(response => {
|
||||
// if (response.data) {
|
||||
// this.MESAlarmNum = response.data.alarmNum
|
||||
// } else {
|
||||
// this.MESAlarmNum = 0
|
||||
// }
|
||||
// })
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.time-menu {
|
||||
display: inline-block;
|
||||
}
|
||||
.navbar {
|
||||
height: 50px;
|
||||
height: 48px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
||||
|
||||
.hamburger-container {
|
||||
line-height: 46px;
|
||||
line-height: 48px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
@@ -207,7 +296,7 @@ export default {
|
||||
.right-menu {
|
||||
float: right;
|
||||
height: 100%;
|
||||
line-height: 50px;
|
||||
line-height: 48px;
|
||||
position: relative;
|
||||
&:focus {
|
||||
outline: none;
|
||||
@@ -220,7 +309,6 @@ export default {
|
||||
padding: 0 8px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
.right-menu-item {
|
||||
@@ -240,27 +328,52 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.verticalBar {
|
||||
height: 32px;
|
||||
width: 0;
|
||||
opacity: 0.49;
|
||||
padding: 0;
|
||||
border-right: 1px solid #fff;
|
||||
position: relative;
|
||||
top: -8px;
|
||||
}
|
||||
.avatar-container {
|
||||
margin-right: 20px;
|
||||
|
||||
.avatar-wrapper {
|
||||
margin-top: 5px;
|
||||
padding-top: 9px;
|
||||
position: relative;
|
||||
|
||||
width: 140px;
|
||||
height: 48px;
|
||||
.user-avatar {
|
||||
cursor: pointer;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 10px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.avatar-username {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -14px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
font-size: 14px;
|
||||
right: 13px;
|
||||
top: 3px;
|
||||
line-height: 25px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.avatar-roles{
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
font-size: 14px;
|
||||
top: 20px;
|
||||
right: 13px;
|
||||
line-height: 25px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
opacity: 0.64;
|
||||
}
|
||||
|
||||
.el-icon-caret-bottom {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
@@ -272,4 +385,19 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.dropdown-badge {
|
||||
background: #ff4949;
|
||||
color: #fff;
|
||||
line-height: 16px;
|
||||
border-radius: 8px;
|
||||
padding: 0 8px;
|
||||
float: right;
|
||||
margin-left: 5px;
|
||||
position: relative;
|
||||
top: 7px;
|
||||
}
|
||||
.navbar-alarmbox {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2021-01-27 10:07:42
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2021-03-12 17:07:14
|
||||
* @Description: file content
|
||||
* @Author: zwq
|
||||
* @Date: 2022-05-12 13:49:54
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-29 10:04:49
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}">
|
||||
@@ -14,7 +14,7 @@
|
||||
</router-link>
|
||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo">
|
||||
<h1 :style="{fontSize}" class="sidebar-title">{{ title }} </h1>
|
||||
<h3 :style="{fontSize}" class="sidebar-title">{{ title }} </h3>
|
||||
</router-link>
|
||||
</transition>
|
||||
</div>
|
||||
@@ -58,9 +58,9 @@ export default {
|
||||
.sidebar-logo-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background: #2b2f3a;
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
background: #001529;
|
||||
padding-left: 10px;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -69,8 +69,8 @@ export default {
|
||||
width: 100%;
|
||||
|
||||
& .sidebar-logo {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
vertical-align: middle;
|
||||
margin-right: 12px;
|
||||
}
|
||||
@@ -79,13 +79,13 @@ export default {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
width: 240px;
|
||||
width: 220px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
line-height: 50px;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-01-27 10:07:42
|
||||
* @LastEditTime: 2021-12-22 16:06:25
|
||||
* @LastEditTime: 2022-06-29 10:13:09
|
||||
* @LastEditors: zwq
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \mt-bus-fe\src\layout\components\Sidebar\index.vue
|
||||
-->
|
||||
<template>
|
||||
<div :class="{'has-logo':showLogo}">
|
||||
<logo v-if="showLogo" :font-size="language === 'en' ? '16px' : '12px'" :title="'title' | i18nFilter" :collapse="isCollapse" />
|
||||
<div :class="{'has-logo':showLogo}" style="padding-bottom: 48px">
|
||||
<logo v-if="showLogo" font-size="16px" :title="'title' | i18nFilter" :collapse="isCollapse" />
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<el-menu
|
||||
:default-active="activeMenu"
|
||||
|
||||
@@ -45,8 +45,8 @@ export default {
|
||||
return this.$store.state.tagsView.visitedViews
|
||||
},
|
||||
routes() {
|
||||
return this.$store.state.permission.routes
|
||||
// return []
|
||||
// return this.$store.state.permission.routes
|
||||
return []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -201,45 +201,50 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tags-view-container {
|
||||
height: 34px;
|
||||
height: 40px;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #d8dce5;
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
|
||||
// border-bottom: 1px solid #d8dce5;
|
||||
// box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
|
||||
.tags-view-wrapper {
|
||||
.tags-view-item {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
border: 1px solid #d8dce5;
|
||||
color: #495060;
|
||||
background: #fff;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
border: 1px solid #F4F4F4;
|
||||
color: rgba(0, 0, 0, 0.45);
|
||||
background: #F4F4F4;
|
||||
border-radius: 4px;
|
||||
padding: 0 8px;
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
margin-top: 4px;
|
||||
margin-top: 8px;
|
||||
&:first-of-type {
|
||||
margin-left: 15px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
&:last-of-type {
|
||||
margin-right: 15px;
|
||||
}
|
||||
&:hover {
|
||||
color: rgba(89, 89, 89, 1);
|
||||
background: #EFEFEF;
|
||||
}
|
||||
&.active {
|
||||
background-color: #42b983;
|
||||
background-color: #3E8EF7;
|
||||
color: #fff;
|
||||
border-color: #42b983;
|
||||
&::before {
|
||||
content: '';
|
||||
background: #fff;
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
margin-right: 2px;
|
||||
}
|
||||
border-color: #3E8EF7;
|
||||
// &::before {//选中的tags前面的小白点
|
||||
// content: '';
|
||||
// background: #fff;
|
||||
// display: inline-block;
|
||||
// width: 8px;
|
||||
// height: 8px;
|
||||
// border-radius: 50%;
|
||||
// position: relative;
|
||||
// margin-right: 2px;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -254,7 +259,7 @@ export default {
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #333;
|
||||
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
|
||||
// box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 7px 16px;
|
||||
@@ -279,15 +284,16 @@ export default {
|
||||
text-align: center;
|
||||
transition: all .3s cubic-bezier(.645, .045, .355, 1);
|
||||
transform-origin: 100% 50%;
|
||||
&:before {
|
||||
transform: scale(.6);
|
||||
display: inline-block;
|
||||
vertical-align: -3px;
|
||||
}
|
||||
&:hover {
|
||||
background-color: #b4bccc;
|
||||
color: #fff;
|
||||
}
|
||||
vertical-align: -1px;
|
||||
// &:before {
|
||||
// transform: scale(.6);
|
||||
// display: inline-block;
|
||||
// vertical-align: -3px;
|
||||
// }
|
||||
// &:hover {
|
||||
// background-color: #b4bccc;
|
||||
// color: #fff;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
<tags-view v-if="needTagsView" />
|
||||
</div>
|
||||
<app-main />
|
||||
<right-panel v-if="showSettings">
|
||||
<!-- 右下角设置按钮 -->
|
||||
<!-- <right-panel v-if="showSettings">
|
||||
<settings />
|
||||
</right-panel>
|
||||
</right-panel> -->
|
||||
<footerbar />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import RightPanel from '@/components/RightPanel'
|
||||
import { AppMain, Navbar, Settings, Sidebar, TagsView, Footerbar } from './components'
|
||||
import { AppMain, Navbar, Sidebar, TagsView, Footerbar } from './components'
|
||||
import ResizeMixin from './mixin/ResizeHandler'
|
||||
import { mapState } from 'vuex'
|
||||
|
||||
@@ -27,8 +27,8 @@ export default {
|
||||
components: {
|
||||
AppMain,
|
||||
Navbar,
|
||||
RightPanel,
|
||||
Settings,
|
||||
// RightPanel,
|
||||
// Settings,
|
||||
Sidebar,
|
||||
TagsView,
|
||||
Footerbar
|
||||
@@ -66,8 +66,9 @@ export default {
|
||||
.app-wrapper {
|
||||
@include clearfix;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
// height: 100%;
|
||||
width: 100%;
|
||||
background-color: #F2F4F9;
|
||||
|
||||
&.mobile.openSidebar {
|
||||
position: fixed;
|
||||
|
||||
@@ -92,6 +92,28 @@ export const constantRoutes = [
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/eap',
|
||||
component: Layout,
|
||||
redirect: '/eap',
|
||||
name: 'eap',
|
||||
meta: { title: routerTitle.eap?.[language] || routerTitle.eap.en, icon: 'form', iconPart: 'ArtManager', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: 'eap',
|
||||
component: () => import('@/views/EAP/index'),
|
||||
name: 'eap',
|
||||
meta: { title: routerTitle.eap?.[language] || routerTitle.eap.en, icon: 'form', affix: true, required: true, requireToken: true, noCache: true }
|
||||
},
|
||||
{
|
||||
path: 'eapControl',
|
||||
component: () => import('@/views/EAP/eapControl'),
|
||||
name: 'eapControl',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.eapControl?.[language] || routerTitle.eapControl.en, icon: 'form', affix: true, required: true, requireToken: true, noCache: true }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
component: Layout,
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
/*
|
||||
* @Date: 2020-12-14 09:07:03
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-06 15:58:41
|
||||
* @LastEditTime: 2022-06-21 11:24:50
|
||||
* @FilePath: \basic-admin\src\settings.js
|
||||
* @Description:
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
// title: 'SCC System',
|
||||
title: 'ARI WMS',
|
||||
|
||||
/**
|
||||
|
||||
@@ -121,7 +121,12 @@ aside {
|
||||
|
||||
//main-container全局样式
|
||||
.app-container {
|
||||
padding: 20px;
|
||||
margin:0 16px 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
padding: 16px 16px 0;
|
||||
height: calc(100vh - 134px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.components-container {
|
||||
@@ -129,10 +134,36 @@ aside {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pagination-container {
|
||||
margin-top: 30px;
|
||||
// 覆盖原有的分页样式-start
|
||||
|
||||
.el-pagination {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.el-pagination__jump {
|
||||
margin-left: 125px;
|
||||
}
|
||||
|
||||
.el-pagination__sizes {
|
||||
position: absolute;
|
||||
right: 100px;
|
||||
}
|
||||
|
||||
.el-pagination.is-background .el-pager li:not(.disabled).active {
|
||||
background-color: #0B58FF;
|
||||
}
|
||||
.el-pagination .el-select .el-input .el-input__inner {
|
||||
height: 22px;
|
||||
}
|
||||
.el-badge__content {
|
||||
border: none;
|
||||
}
|
||||
// 覆盖原有的分页样式-end
|
||||
|
||||
.text-center {
|
||||
text-align: center
|
||||
}
|
||||
@@ -195,6 +226,13 @@ aside {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.el-dialog {
|
||||
width: 1000px;
|
||||
}
|
||||
.el-dialog__body {
|
||||
padding: 30px 40px;
|
||||
}
|
||||
|
||||
.el-dialog__wrapper {
|
||||
backdrop-filter: blur(5px);
|
||||
}
|
||||
@@ -235,3 +273,30 @@ aside {
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: rgba(144,147,153,.3);
|
||||
}
|
||||
|
||||
// 数据分析单选框样式覆盖
|
||||
|
||||
.app-container{
|
||||
.data-analysis-radio{
|
||||
.el-radio-button__inner {
|
||||
border: 0;
|
||||
padding: 7px 0;
|
||||
margin: 0 15px;
|
||||
}
|
||||
.el-radio-button__orig-radio:checked+.el-radio-button__inner{
|
||||
background-color: transparent;
|
||||
color: #606266;
|
||||
box-shadow: 0 0 0 0 transparent;
|
||||
border-bottom: 2px solid #0B58FF;
|
||||
}
|
||||
.el-radio-button:first-child .el-radio-button__inner,
|
||||
.el-radio-button:last-child .el-radio-button__inner {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 全局loading样式覆盖
|
||||
.el-loading-mask{
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ $subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951
|
||||
$menuBg:#304156;
|
||||
$menuHover:#263445;
|
||||
|
||||
$subMenuBg:#1f2d3d;
|
||||
$subMenuBg:#0B253F;
|
||||
$subMenuHover:#001528;
|
||||
|
||||
$sideBarWidth: 300px;
|
||||
$sideBarWidth: 280px;
|
||||
|
||||
// the :export directive is the magic sauce for webpack
|
||||
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
|
||||
@@ -33,3 +33,4 @@ $sideBarWidth: 300px;
|
||||
subMenuHover: $subMenuHover;
|
||||
sideBarWidth: $sideBarWidth;
|
||||
}
|
||||
|
||||
|
||||
307
src/views/EAP/eapControl.vue
Normal file
307
src/views/EAP/eapControl.vue
Normal file
@@ -0,0 +1,307 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 15:41:11
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-08-05 09:09:17
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="10">
|
||||
<el-form
|
||||
ref="dataForm"
|
||||
:model="dataForm"
|
||||
:rules="rules"
|
||||
size="medium"
|
||||
label-position="left"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="communication状态" prop="communicationState" required>
|
||||
<span :class="dataForm.communicationState === 0? 'waring' : 'normal'">{{ dataForm.communicationState === 0? 'off' : 'on' }}</span>
|
||||
<el-button type="primary" size="mini" @click="switchChange()">控制</el-button>
|
||||
</el-form-item>
|
||||
<!-- <div v-show="communicationShow">Result ={{ communicationStatus }}</div> -->
|
||||
</el-col>
|
||||
<el-col v-if="false" :span="6" :offset="1">
|
||||
<el-form-item label="eqpState" prop="eqpState">
|
||||
<el-select v-model="dataForm.eqpState" placeholder="请选择下拉选择" clearable @change="eqpStateChange">
|
||||
<el-option
|
||||
v-for="(item, index) in eqpStateArr"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<!-- <div v-show="eqpStatusShow">Result ={{ eqpStatus }}</div> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="controllerState" prop="controllerState">
|
||||
<el-select v-model="dataForm.controllerState" placeholder="请选择下拉选择" clearable @change="controllerStateChange">
|
||||
<el-option
|
||||
v-for="(item, index) in controllerStateArr"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<span :class="controllerInfo === 'offline'? 'waring' : 'normal'">{{ controllerInfo }}</span>
|
||||
<!-- <div v-show="controllerStatusShow">Result ={{ controllerStatus }}</div> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<el-col :span="3" :offset="2">
|
||||
<el-button type="primary" @click="sendSecsGemSetting()">Setting</el-button>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-button type="primary" @click="sendAlarmReport()">AlarmReport</el-button>
|
||||
</el-col>
|
||||
<el-col v-if="false" :span="3">
|
||||
<el-button type="primary" @click="sendReportLinkedEventAndVid()"> ReportLinkedEventAndVid </el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
DisableEnableCommunication,
|
||||
getCommunicationState,
|
||||
getcontrollerState,
|
||||
sendEqpState,
|
||||
sendControllerState,
|
||||
sendReportLinkedEventAndVid,
|
||||
sendSecsGemSetting,
|
||||
sendAlarmReport
|
||||
} from '@/api/EAP'
|
||||
/**
|
||||
* 表格表头配置项 TypeScript接口注释
|
||||
* tableConfig<ConfigItem> = []
|
||||
*
|
||||
* Interface ConfigItem = {
|
||||
* prop: string,
|
||||
* label: string,
|
||||
* width: string,
|
||||
* align: string,
|
||||
* subcomponent: function,
|
||||
* filter: function
|
||||
* }
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
export default {
|
||||
name: 'Aspc',
|
||||
components: { },
|
||||
filters: {
|
||||
statusFilter(status) {
|
||||
const statusMap = {
|
||||
published: 'success',
|
||||
draft: 'info',
|
||||
deleted: 'danger'
|
||||
}
|
||||
return statusMap[status]
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
communicationState: 0,
|
||||
eqpState: undefined,
|
||||
controllerState: undefined
|
||||
},
|
||||
controllerStatus: '',
|
||||
eqpStatus: '',
|
||||
communicationStatus: '',
|
||||
communicationShow: false,
|
||||
eqpStatusShow: false,
|
||||
controllerStatusShow: false,
|
||||
controllerInfo: '',
|
||||
rules: {
|
||||
},
|
||||
eqpStateArr: [{
|
||||
'label': 'local',
|
||||
'value': 4
|
||||
}, {
|
||||
'label': 'remote',
|
||||
'value': 5
|
||||
}],
|
||||
controllerStateArr: [{
|
||||
'label': 'offline',
|
||||
'value': 1
|
||||
}, {
|
||||
'label': 'local',
|
||||
'value': 2
|
||||
}, {
|
||||
'label': 'remote',
|
||||
'value': 3
|
||||
}],
|
||||
websock: '',
|
||||
url: '',
|
||||
wbData: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getState()
|
||||
this.url = process.env.VUE_APP_WB_API
|
||||
this.initWebSocket()
|
||||
getCommunicationState().then(res => {
|
||||
this.dataForm.communicationState = res.data.communicationState
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
// 页面销毁时关闭ws连接
|
||||
if (this.websock) {
|
||||
this.websock.close() // 关闭websocket
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
switchChange() {
|
||||
this.communicationShow = false
|
||||
const cState = this.dataForm.communicationState ? 0 : 1
|
||||
DisableEnableCommunication(cState).then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
eqpStateChange() {
|
||||
this.eqpStatusShow = false
|
||||
sendEqpState(this.dataForm.eqpState).then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
controllerStateChange() {
|
||||
this.controllerStatusShow = false
|
||||
sendControllerState(this.dataForm.controllerState).then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
getState() {
|
||||
getcontrollerState().then(res => {
|
||||
if (res.data.controllerState === 1) {
|
||||
this.dataForm.controllerState = 1
|
||||
this.controllerInfo = 'offline'
|
||||
} else if (res.data.eqpState === 4) {
|
||||
this.dataForm.controllerState = 2
|
||||
this.controllerInfo = 'local'
|
||||
} else if (res.data.eqpState === 5) {
|
||||
this.dataForm.controllerState = 3
|
||||
this.controllerInfo = 'remote'
|
||||
}
|
||||
this.dataForm.eqpState = res.data.eqpState
|
||||
})
|
||||
},
|
||||
sendReportLinkedEventAndVid() {
|
||||
sendReportLinkedEventAndVid().then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
sendSecsGemSetting() {
|
||||
sendSecsGemSetting().then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
sendAlarmReport() {
|
||||
sendAlarmReport().then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
},
|
||||
initWebSocket() {
|
||||
// 初始化weosocket
|
||||
const path = `ws://${this.url}/opcua/websocket/${Math.round(Math.random() * 100)}`
|
||||
this.websock = new WebSocket(path)
|
||||
this.websock.onmessage = this.websocketonmessage
|
||||
this.websock.onopen = this.websocketonopen
|
||||
this.websock.onerror = this.websocketonerror
|
||||
this.websock.onclose = this.websocketclose
|
||||
},
|
||||
websocketonopen() {
|
||||
console.log('websocketonopen')
|
||||
// 连接建立之后执行send方法发送数据
|
||||
// this.websocketsend(JSON.stringify('2'))
|
||||
},
|
||||
websocketonerror() {
|
||||
// 连接建立失败重连
|
||||
this.initWebSocket()
|
||||
},
|
||||
websocketonmessage(e) {
|
||||
// 数据接收
|
||||
this.wbData = JSON.parse(e.data)
|
||||
console.log(this.wbData)
|
||||
if (this.wbData.controllerState) {
|
||||
this.controllerStatus = this.wbData.vidResult
|
||||
if (this.wbData.controllerState === '1') {
|
||||
this.dataForm.controllerState = 1
|
||||
this.controllerInfo = 'offline'
|
||||
} else if (this.wbData.eqpState === '4') {
|
||||
this.dataForm.controllerState = 2
|
||||
this.controllerInfo = 'local'
|
||||
} else if (this.wbData.eqpState === '5') {
|
||||
this.dataForm.controllerState = 3
|
||||
this.controllerInfo = 'remote'
|
||||
}
|
||||
this.controllerStatusShow = true
|
||||
} else if (this.wbData.eqpState) {
|
||||
this.eqpStatus = this.wbData.eqpResult
|
||||
this.dataForm.eqpState = parseInt(this.wbData.eqpState)
|
||||
this.eqpStatusShow = true
|
||||
} else {
|
||||
this.communicationStatus = this.wbData.communicationResult
|
||||
this.dataForm.communicationState = parseInt(this.wbData.connectState)
|
||||
this.communicationShow = true
|
||||
}
|
||||
},
|
||||
websocketsend(val) {
|
||||
// 数据发送
|
||||
this.websock.send(val)
|
||||
},
|
||||
websocketclose(e) {
|
||||
// 关闭
|
||||
console.log('断开连接', e)
|
||||
this.initWebSocket()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.app-container{
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
}
|
||||
.waring{
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
background-color: #F56C6C;
|
||||
color: white;
|
||||
}
|
||||
.normal{
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
background-color: #67C23A;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
115
src/views/EAP/index.vue
Normal file
115
src/views/EAP/index.vue
Normal file
@@ -0,0 +1,115 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 15:41:11
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-08-03 16:30:27
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div class="btn-container">
|
||||
<div v-for="(item,index) in btnList" :key="index" class="btndiv">
|
||||
<el-card class="box-card" @click.native="sendInfo(item)">{{ item }}</el-card>
|
||||
</div>
|
||||
</div>
|
||||
<spc-control />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as spcApi from '@/api/EAP'
|
||||
import spcControl from './eapControl'
|
||||
// , handleLimit
|
||||
/**
|
||||
* 表格表头配置项 TypeScript接口注释
|
||||
* tableConfig<ConfigItem> = []
|
||||
*
|
||||
* Interface ConfigItem = {
|
||||
* prop: string,
|
||||
* label: string,
|
||||
* width: string,
|
||||
* align: string,
|
||||
* subcomponent: function,
|
||||
* filter: function
|
||||
* }
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
export default {
|
||||
name: 'Aspc',
|
||||
components: { spcControl },
|
||||
filters: {
|
||||
statusFilter(status) {
|
||||
const statusMap = {
|
||||
published: 'success',
|
||||
draft: 'info',
|
||||
deleted: 'danger'
|
||||
}
|
||||
return statusMap[status]
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
btnList: [
|
||||
'EquipmentOffline',
|
||||
'ControlStateLocal',
|
||||
'ControlStateRemote',
|
||||
'AlarmDetected',
|
||||
'AlarmCleared',
|
||||
// 'SpoolTransmitFailure',
|
||||
// 'SpoolingActivated',
|
||||
// 'SpoolingDeactivated',
|
||||
'ProcessingStarted',
|
||||
'ProcessingCompleted',
|
||||
'ProcessingStopped',
|
||||
'MaterialReceived',
|
||||
'MaterialRemoved',
|
||||
'E10StateChanged',
|
||||
'CompleteProcessFlow',
|
||||
'MaintenancePlan',
|
||||
'MaintenanceRecord',
|
||||
'RepairRecord',
|
||||
'ShuttleMovementStart',
|
||||
'ShuttleMovementFinished',
|
||||
'QCPChange',
|
||||
'PowerConsumption',
|
||||
'OKsubstratereport',
|
||||
'Scrapsubstratereport',
|
||||
'EmptyCassettereport'
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
sendInfo(name) {
|
||||
spcApi[name]().then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.btn-container{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.btndiv{
|
||||
width: 20%;
|
||||
height: 100px;
|
||||
margin: auto;
|
||||
}
|
||||
.box-card{
|
||||
background-color: #3e8ef7;
|
||||
margin: 10px;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
@@ -47,15 +47,15 @@ module.exports = {
|
||||
proxy: {
|
||||
'/api': {
|
||||
// target: 'http://localhost:8080',
|
||||
// target: 'http://192.168.0.148:8080',
|
||||
target: 'http://a.wms.picaiba.com/api',
|
||||
// target: 'http://192.168.1.38:8080',
|
||||
target: 'http://a.wms.picaiba.com',
|
||||
// target: 'http://192.168.0.127:8080',
|
||||
// target: 'http://192.168.0.165:8080',
|
||||
// target: 'http://192.168.43.105:8080',
|
||||
// target: 'http://127.0.0.1:8080',
|
||||
// target: 'http://192.168.0.70:8080',
|
||||
// target: 'http://192.168.0.199:8080',
|
||||
|
||||
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
@@ -188,4 +188,4 @@ module.exports = {
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user