Commit b46a1d0f authored by jzc's avatar jzc

Merge branch 'dev' of http://git.local.topsunit.com/mes/mes-pad into dev

parents b88f621b cc932db8
# ktg-mes-pad # mes-pad
#### Description #### Description
MES系统触控屏端 MES系统触控屏端
......
# ktg-mes-pad # mes-pad
#### 介绍 #### 介绍
MES系统触控屏端 MES系统触控屏端
......
const config = { const config = {
// 产品名称 // 产品名称
productName: 'ktg-mes-pad', productName: 'mes-pad',
// 公司名称 // 公司名称
companyName: 'ktg', companyName: '',
// 产品版本号 // 产品版本号
productVersion: 'V0.1.0', productVersion: 'V0.1.0',
......
...@@ -26,6 +26,8 @@ const install = (Vue, vm) => { ...@@ -26,6 +26,8 @@ const install = (Vue, vm) => {
params), params),
getWorkstationList: (params = {}) => vm.$u.get(config.adminPath + getWorkstationList: (params = {}) => vm.$u.get(config.adminPath +
'/mobile/md/workstation/getWorkstationList', params), '/mobile/md/workstation/getWorkstationList', params),
getWorkUnitList: (params = {}) => vm.$u.get(config.adminPath +
'/md/workunit/getListByUser', params),
/** /**
* 生产管理相关API * 生产管理相关API
**/ **/
...@@ -90,6 +92,26 @@ const install = (Vue, vm) => { ...@@ -90,6 +92,26 @@ const install = (Vue, vm) => {
'/mobile/pro/taskissue/getReserveIssueList', params), '/mobile/pro/taskissue/getReserveIssueList', params),
//打印流转单 //打印流转单
//投料验证
listFeedingInspection: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/listIssueLine', params),
validateFeedingInspection: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/validateFeedingInspection', params),
validateFeedingInspectionById: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/validateFeedingInspectionById', params),
//查询反冲料列表
recoilMaterialList: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/getRecoilMaterial', params),
//增加反冲料
addRecoilMaterial: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/addRecoilMaterial', params),
//删除反冲料
deleteRecoilMaterial: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/deleteRecoilMaterial', params),
//领料申请
listMaterialRequest: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/listMaterialRequest', params),
addMaterialRequest: (params = {}) => vm.$u.postJson(config.adminPath + '/mobile/pro/proMaterial/addMaterialRequest', params),
//退料申请
listMaterialReturn: (params = {}) => vm.$u.post(config.adminPath + '/mobile/pro/proMaterial/listIssueLine', params),
addMaterialReturn: (params = {}) => vm.$u.postJson(config.adminPath + '/mobile/pro/proMaterial/addMaterialReturn', params),
//质量相关api //质量相关api
//获取当前产品、当前质检类型的质检模板行信息 //获取当前产品、当前质检类型的质检模板行信息
......
...@@ -79,6 +79,7 @@ const install = (Vue, vm) => { ...@@ -79,6 +79,7 @@ const install = (Vue, vm) => {
// 错误 // 错误
if (data.msg !== null) { if (data.msg !== null) {
uni.showToast({ uni.showToast({
icon: 'none',
title: data.msg, title: data.msg,
duration: 3000 duration: 3000
}) })
......
...@@ -17,22 +17,17 @@ ...@@ -17,22 +17,17 @@
<ProContent v-if="tabIndex === 'DV'"></ProContent> <ProContent v-if="tabIndex === 'DV'"></ProContent>
</view> </view>
<u-modal width="90%" v-model="showWorkstationFlag" :showConfirmButton="false" :showCancelButton="true" <u-modal width="90%" v-model="showWorkstationFlag" :showConfirmButton="false" :showCancelButton="true"
title="请选择工作站" content="操作内容"> title="请选择工作单元" content="操作内容">
<!-- <u-tabs :list="processList" :is-scroll="true" :current="currentFlag" name="processName"
@change="getWorkstationList">
</u-tabs> -->
<uv-tabs :list="processList" :current="currentFlag" keyName="processName" @change="getWorkstationList"
v-if="showWorkstationFlag"></uv-tabs>
<view class="station_list"> <view class="station_list">
<u-empty text="暂无工作站" mode="list" v-if="workstationList.length==0" <u-empty text="暂无工作单元" mode="list" v-if="workUnitList.length==0"
style="margin: 0 auto;display: block;height: 360rpx;padding: 100rpx 0;"></u-empty> style="margin: 0 auto;display: block;height: 360rpx;padding: 100rpx 0;"></u-empty>
<template v-else> <template v-else>
<u-card class="station_card" :show-foot="false" :title="'工作站'+card.workstationCode" :key="index" <u-card class="station_card" :show-foot="false" :title="'工作单元'+card.workunitCode"
v-for="(card,index) in workstationList"> v-for="(card,index) in workUnitList">
<view class="station_card_text" slot="body"> <view class="station_card_text" slot="body">
{{ '工作站名称:' + card.workstationName }} {{ '工作单元名称:' + card.workunitName }}
<u-button type="primary" @click="setWorkstation(card)" <u-button type="primary" @click="setWorkUnit(card)"
style="margin-top: 30rpx;">选择 style="margin-top: 30rpx;">选择
</u-button> </u-button>
</view> </view>
...@@ -45,7 +40,7 @@ ...@@ -45,7 +40,7 @@
title="请选择操作"> title="请选择操作">
<view class="logoutmenu"> <view class="logoutmenu">
<u-button shape="circle" class="menu_button" @click="" type="primary">更改密码</u-button> <u-button shape="circle" class="menu_button" @click="" type="primary">更改密码</u-button>
<u-button shape="circle" class="menu_button" @click="handleCommand('workstation')" type="warning">切换工作站 <u-button shape="circle" class="menu_button" @click="handleCommand('workunit')" type="warning">切换工作站
</u-button> </u-button>
<u-button shape="circle" class="menu_button" @click="handleCommand('exit')" type="error">退出登录</u-button> <u-button shape="circle" class="menu_button" @click="handleCommand('exit')" type="error">退出登录</u-button>
</view> </view>
...@@ -54,14 +49,14 @@ ...@@ -54,14 +49,14 @@
</template> </template>
<script> <script>
import TabHeader from "./TabHeader.vue" import TabHeader from "./TabHeader.vue"
import ProContent from "../mes/pro/index.vue" import ProContent from "../mes/pro/index.vue"
import GxContent from "../mes/gx/index.vue" import GxContent from "../mes/gx/index.vue"
import QcContent from "../mes/qc/index.vue" import QcContent from "../mes/qc/index.vue"
import ProdReport from "../mes/prodReport/index.vue" import ProdReport from "../mes/prodReport/index.vue"
import DictData from '@/components/DictData' import DictData from '@/components/DictData'
export default { export default {
name: 'HomePage', name: 'HomePage',
components: { components: {
TabHeader, TabHeader,
...@@ -82,6 +77,7 @@ export default { ...@@ -82,6 +77,7 @@ export default {
}, },
processList: [], //工序清单 processList: [], //工序清单
workstationList: [], //工作站清单 workstationList: [], //工作站清单
workUnitList:[],//工作站清单
currentFlag: 0 currentFlag: 0
} }
}, },
...@@ -89,16 +85,16 @@ export default { ...@@ -89,16 +85,16 @@ export default {
uni.$on('switchTab', (indexCode) => { uni.$on('switchTab', (indexCode) => {
this.tabIndex = indexCode; this.tabIndex = indexCode;
}) })
uni.$on('changeWorkstation', (indexCode) => { uni.$on('changeWorkunit', (indexCode) => {
this.handleCommand('workstation'); this.handleCommand('workunit');
}) })
this.checkWorkstation(); this.checkWorkstation();
this.getProcessList(); this.getWorkUnitList();
}, },
destroyed() { destroyed() {
uni.$off('switchTab'); uni.$off('switchTab');
uni.$off('changeWorkstation'); uni.$off('changeWorkunit');
}, },
methods: { methods: {
//用户部分点击 //用户部分点击
...@@ -110,9 +106,9 @@ export default { ...@@ -110,9 +106,9 @@ export default {
//检查工作站设置情况 //检查工作站设置情况
checkWorkstation() { checkWorkstation() {
if (this.vuex_workstation == null) { if (this.vuex_workunit == null) {
this.showWorkstationFlag = true; this.showWorkstationFlag = true;
this.$u.toast("请设置当前触控屏的工作站!"); this.$u.toast("请设置当前触控屏的工作单元!");
} }
}, },
//获取工序清单 //获取工序清单
...@@ -142,11 +138,21 @@ export default { ...@@ -142,11 +138,21 @@ export default {
} }
}); });
}, },
getWorkUnitList(item) {
this.$u.api.getWorkUnitList({
}).then(res => {
if (res.code === 200) {
this.workUnitList = res.rows;
} else {
this.$u.toast("获取工作单元清单异常" + res.msg);
}
});
},
//设置当前触控屏的工作站 //设置当前触控屏的工作站
setWorkstation(station) { setWorkUnit(station) {
this.$u.vuex('vuex_workstation', station); this.$u.vuex('vuex_workunit', station);
this.showWorkstationFlag = false; this.showWorkstationFlag = false;
uni.$emit('switchWorkstation', station); uni.$emit('switchWorkunit', station);
}, },
handleCommand(command) { handleCommand(command) {
if (command === 'exit') { if (command === 'exit') {
...@@ -166,32 +172,32 @@ export default { ...@@ -166,32 +172,32 @@ export default {
}, 500); }, 500);
} }
}) })
} else if (command == 'workstation') { } else if (command == 'workunit') {
this.showLogoutMenu = false; this.showLogoutMenu = false;
this.showWorkstationFlag = true; this.showWorkstationFlag = true;
} }
} }
} }
} }
</script> </script>
<style> <style>
.common-container { .common-container {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
display: flex; display: flex;
} }
.common-head { .common-head {
height: 40px; height: 40px;
background-color: rgb(3, 26, 60); background-color: rgb(3, 26, 60);
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 15px; padding: 0 15px;
box-sizing: border-box; box-sizing: border-box;
} }
.header { .header {
width: 120px; width: 120px;
background-color: #132138; background-color: #132138;
color: aliceblue; color: aliceblue;
...@@ -206,63 +212,63 @@ export default { ...@@ -206,63 +212,63 @@ export default {
margin: 40rpx auto; margin: 40rpx auto;
display: block; display: block;
} }
} }
.header .divItem { .header .divItem {
height: 100%; height: 100%;
align-items: center; align-items: center;
} }
.header .workstation { .header .workstation {
text-align: center; text-align: center;
flex-grow: 1; flex-grow: 1;
} }
.header .user { .header .user {
width: 30%; width: 30%;
} }
.header .user .user-icon { .header .user .user-icon {
float: right; float: right;
} }
img { img {
width: 40px; width: 40px;
height: 40px; height: 40px;
border-radius: 20px; border-radius: 20px;
margin-left: 10px; margin-left: 10px;
} }
.header .user .user-text { .header .user .user-text {
float: right; float: right;
} }
.logoutmenu { .logoutmenu {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.menu_button { .menu_button {
width: 100px; width: 100px;
margin: 10px; margin: 10px;
} }
.station_modal { .station_modal {
} }
.station_list { .station_list {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.station_card { .station_card {
width: 250px; width: 250px;
height: 150px; height: 150px;
} }
.common-main { .common-main {
flex: 1; flex: 1;
height: 100%; height: 100%;
padding: 6px 6px 6px 0; padding: 6px 6px 6px 0;
...@@ -270,9 +276,9 @@ img { ...@@ -270,9 +276,9 @@ img {
width: 100%; width: 100%;
overflow: auto; overflow: auto;
background-image: linear-gradient(to top right, rgb(19 26 56), rgb(33 64 128)); background-image: linear-gradient(to top right, rgb(19 26 56), rgb(33 64 128));
} }
.setting-body { .setting-body {
position: absolute; position: absolute;
bottom: 20rpx; bottom: 20rpx;
width: 200rpx; width: 200rpx;
...@@ -284,5 +290,5 @@ img { ...@@ -284,5 +290,5 @@ img {
.setting-icon { .setting-icon {
margin: 10rpx 10rpx; margin: 10rpx 10rpx;
} }
} }
</style> </style>
This diff is collapsed.
...@@ -46,6 +46,7 @@ const store = new Vuex.Store({ ...@@ -46,6 +46,7 @@ const store = new Vuex.Store({
vuex_config: config, vuex_config: config,
//当前设备绑定的工作站 //当前设备绑定的工作站
vuex_workstation: null, vuex_workstation: null,
vuex_workunit: null,
//当前工作站正在进行的生产任务 //当前工作站正在进行的生产任务
vuex_task: null, vuex_task: null,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment