人工排产

This commit is contained in:
2024-02-22 14:50:51 +08:00
parent e672f1abe8
commit 2725e42919
8 changed files with 246 additions and 141 deletions

View File

@@ -269,22 +269,55 @@ uni-button:after {
background: #d7d7d7;
font-size: 26rpx;
line-height: 98rpx;
color: #696969;
color: #7d7d7d;
background-color: #dcdfea;
font-weight: bold;
z-index: 100;
}
.slide_new table thead tr th:first-child {
background: #d7d7d7;
}
.slide_new table tbody tr td {
font-size: 28rpx;
line-height: 98rpx;
color: #323232;
line-height: 58rpx;
padding: 14rpx 20rpx;
color: #7d7d7d;
background: #fff;
}
.slide_new table tbody tr.checked td {
background-color: #f2f2f2;
color: #000
background-color: #f9efb6;
}
.slide_new table tbody tr td .td_input {
width: 150rpx;
font-size: 28rpx;
color: #305fbf;
line-height: 30rpx;
height: 58rpx;
padding: 14rpx;
border: 1px solid #889dc7;
box-shadow: 0 0 0 2px rgba(136, 157, 199,.2);
border-radius: 10rpx;
}
.slide_new table tbody tr td.fontcol1 {
color: #007de7;
}
.slide_new table tbody tr td.fontcol2 {
color: #000;
}
.slide_new table tbody tr td .fontbg{
font-size: 26rpx;
line-height: 30rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
}
.slide_new table tbody tr td .fontbg1 {
background-color: #cfd2d4;
color: #5e5d5d;
}
.slide_new table tbody tr td .fontbg3 {
background-color: #96f3b8;
color: #36744c;
}
.slide_new table tbody tr td .fontbg4 {
background-color: #f3ccb5;
color: #ff5e00;
}
/** 提交栏 **/
@@ -303,9 +336,6 @@ uni-button:after {
box-shadow: 0 0 20rpx 0 rgba(160,160,160,0.7);
}
.submit-bar_new {
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
bottom: 0;
left: 0;
@@ -328,7 +358,6 @@ uni-button:after {
border-radius: 10rpx;
}
.submit-button_new {
/* width: 35%; */
font-size: 34rpx;
line-height: 88rpx;
color: #fff;
@@ -458,21 +487,6 @@ uni-button:after {
.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item {
font-size: 28rpx !important
}
.sin_input {
width: 150rpx;
font-size: 28rpx;
line-height: 150rpx;
height: 68rpx;
color: #323232;
padding: 0 .1rem;
border: 1px solid #a1a1a1;
border-radius: 3px;
}
.layout-t tr.checked td .sin_input {
color: #8a8a8a;
border: 1px solid #ffffff;
}
.flow_wrapper {
width: 100%;
background-color: #fff;

View File

@@ -24,107 +24,11 @@
"navigationStyle": "custom"
}
},
{
"path" : "pages/modules/equip-inspection",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/equip-operate",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/pallet-bind",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/sort-schedue",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/man-group",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/hunnian-carry",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/forced-rest",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/surplus-mater-instore",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/package-instore",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/call-full-mater",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/call-mupan",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/empty-instore",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/shelf-check",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/press-carry",
"style": {
"navigationStyle": "custom"
}
}
,{
"path" : "pages/modules/hunnian-operate",
"style": {
"navigationStyle": "custom"
{
"path" : "pages/modules/man-paichan",
"style" :
{
"navigationStyle": "custom"
}
}

View File

@@ -32,7 +32,7 @@
return {
userName: '',
menuList: [
{id: '1', name: '人工排产', icon: 'RF01', path: '/pages/modules/equip-inspection'},
{id: '1', name: '人工排产', icon: 'RF01', path: '/pages/modules/man-paichan'},
{id: '2', name: '涂线板', icon: 'RF02', path: '/pages/manage/man-group-disk'},
{id: '3', name: '物料库存', icon: 'RF03', path: '/pages/manage/man-group-disk'}
]

View File

@@ -75,9 +75,9 @@
})
},
async toLogin() {
uni.redirectTo({
url: '/pages/home/home'
})
// uni.redirectTo({
// url: '/pages/home/home'
// })
this.disabled = true
if (this.user === '') {
uni.showToast({

View File

@@ -8,12 +8,12 @@
<input type="text" class="setup-input" placeholder="请输入服务器地址" v-model="addrip">
</view>
</view>
<view class="zd_wrapper">
<!-- <view class="zd_wrapper">
<view class="input-wrap">
<view class="input-label">刷新时间(s)</view>
<input type="text" class="setup-input" placeholder="请输入刷新时间" v-model="setTime">
</view>
</view>
</view> -->
</view>
<view class="submit-bar">
<button class="submit-button" @click="_submit">确认</button>

View File

@@ -105,12 +105,13 @@
}
.mask {
position: fixed;
position: fixed;
z-index: 99;
left: 0;
top: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, .65);
background-color: rgba(0, 0, 0, .9);
}
.botton-radius {
@@ -119,7 +120,8 @@
}
.content {
position: relative;
position: relative;
z-index: 100;
top: 0;
width: 600rpx;
background-color: #fff;

View File

@@ -0,0 +1,140 @@
<template>
<view class="zd_container">
<nav-bar title="人工排产"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>工单号</th>
<th>物料编码</th>
<th>物料名称</th>
<th>工单状态</th>
<th>开工人</th>
<th>创建者</th>
<th>计划量</th>
<th>实际量</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.workorder_code === pkId}">
<td class="fontcol1">{{e.workorder_code}}</td>
<td>{{e.material_code}}</td>
<td>{{e.material_name}}</td>
<td><view class="fontbg" :class="'fontbg' + e.workorder_status">{{textState(e.workorder_status)}}</view></td>
<td>{{e.operator}}</td>
<td>{{e.create_name}}</td>
<!-- <td><input class="td_input" type="number" v-model="e.plan_qty"></td> -->
<td class="fontcol2">{{e.plan_qty}}</td>
<td class="fontcol2">{{e.real_qty}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="zd-row submit-bar_new">
<button class="zd-col-11 submit-button_new" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="_productionScheduling">开工</button>
<button class="zd-col-11 submit-button_new" :class="{'btn-disabled': !pkId}" :disabled="disabled2" @tap="_productionComplete">完工</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {manualSortingOrders, productionScheduling, productionComplete} from '@/utils/getData2.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
disabled1: false,
disabled2: false,
pkId: ''
};
},
created () {
this._manualSortingOrders()
},
methods: {
textState (e) {
switch (e) {
case '1':
return '未生产'
break
case '3':
return '生产中'
break
case '4':
return '暂停'
break
default:
return ''
break
}
},
/** grid查询 */
async _manualSortingOrders () {
let res = await manualSortingOrders()
this.dataList = [...res]
},
toCheck (e) {
this.pkId = this.pkId === e.workorder_code ? '' : e.workorder_code
},
/** 开工 */
async _productionScheduling () {
this.disabled1 = true
if (!this.pkId) {
this.disabled1 = false
return
}
try {
let user = ''
if (this.$store.getters.userInfo) {
user = JSON.parse(this.$store.getters.userInfo).username
}
let res = await productionScheduling(this.pkId, user)
this.disabled1 = false
this.pkId = ''
this._manualSortingOrders()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
/** 完工 */
async _productionComplete () {
this.disabled2 = true
if (!this.pkId) {
this.disabled2 = false
return
}
try {
let user = ''
if (this.$store.getters.userInfo) {
user = JSON.parse(this.$store.getters.userInfo).username
}
let res = await productionComplete(this.pkId, user)
this.disabled2 = false
this.pkId = ''
this._manualSortingOrders()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled2 = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -26,10 +26,55 @@ export const handLogin = (user, password) => request({
* 人工排产
*/
// 工单
export const manualSortingOrders = () => request({
url:'api/pda/manualSorting/orders',
data: {}
})
// export const manualSortingOrders = () => request({
// url:'api/pda/manualSorting/orders',
// data: {}
// })
export const manualSortingOrders = () => {
let res = [
{
"workorder_code": "231117001",
"material_code": "ZJB",
"material_name": "正极板",
"workorder_status": "1",
"operator": null,
"create_name": "管理员",
"plan_qty": "1111",
"real_qty": "0"
},
{
"workorder_code": "231128002",
"material_code": "FJB",
"material_name": "负极板",
"workorder_status": "3",
"operator": null,
"create_name": "管理员",
"plan_qty": "2222",
"real_qty": "0"
},
{
"workorder_code": "231128003",
"material_code": "BFJB",
"material_name": "边负极板",
"workorder_status": "4",
"operator": 'admin',
"create_name": "管理员",
"plan_qty": "1111",
"real_qty": "0"
},
{
"workorder_code": "231212003",
"material_code": "BFJB",
"material_name": "边负极板",
"workorder_status": "1",
"operator": null,
"create_name": "管理员",
"plan_qty": "8989767",
"real_qty": "0"
}
]
return res
}
// 开工
export const productionScheduling = (code, user) => request({
url:'api/pda/manualSorting/productionScheduling',