人工排产
This commit is contained in:
@@ -269,22 +269,55 @@ uni-button:after {
|
|||||||
background: #d7d7d7;
|
background: #d7d7d7;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
line-height: 98rpx;
|
line-height: 98rpx;
|
||||||
color: #696969;
|
color: #7d7d7d;
|
||||||
|
background-color: #dcdfea;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
}
|
}
|
||||||
.slide_new table thead tr th:first-child {
|
|
||||||
background: #d7d7d7;
|
|
||||||
}
|
|
||||||
.slide_new table tbody tr td {
|
.slide_new table tbody tr td {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
line-height: 98rpx;
|
line-height: 58rpx;
|
||||||
color: #323232;
|
padding: 14rpx 20rpx;
|
||||||
|
color: #7d7d7d;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
.slide_new table tbody tr.checked td {
|
.slide_new table tbody tr.checked td {
|
||||||
background-color: #f2f2f2;
|
background-color: #f9efb6;
|
||||||
color: #000
|
}
|
||||||
|
.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);
|
box-shadow: 0 0 20rpx 0 rgba(160,160,160,0.7);
|
||||||
}
|
}
|
||||||
.submit-bar_new {
|
.submit-bar_new {
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
@@ -328,7 +358,6 @@ uni-button:after {
|
|||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
}
|
}
|
||||||
.submit-button_new {
|
.submit-button_new {
|
||||||
/* width: 35%; */
|
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
line-height: 88rpx;
|
line-height: 88rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -458,21 +487,6 @@ uni-button:after {
|
|||||||
.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item {
|
.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item {
|
||||||
font-size: 28rpx !important
|
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 {
|
.flow_wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|||||||
104
pages.json
104
pages.json
@@ -25,106 +25,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path" : "pages/modules/equip-inspection",
|
"path" : "pages/modules/man-paichan",
|
||||||
"style": {
|
"style" :
|
||||||
"navigationStyle": "custom"
|
{
|
||||||
}
|
"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"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
return {
|
return {
|
||||||
userName: '',
|
userName: '',
|
||||||
menuList: [
|
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: '2', name: '涂线板', icon: 'RF02', path: '/pages/manage/man-group-disk'},
|
||||||
{id: '3', name: '物料库存', icon: 'RF03', path: '/pages/manage/man-group-disk'}
|
{id: '3', name: '物料库存', icon: 'RF03', path: '/pages/manage/man-group-disk'}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -75,9 +75,9 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
async toLogin() {
|
async toLogin() {
|
||||||
uni.redirectTo({
|
// uni.redirectTo({
|
||||||
url: '/pages/home/home'
|
// url: '/pages/home/home'
|
||||||
})
|
// })
|
||||||
this.disabled = true
|
this.disabled = true
|
||||||
if (this.user === '') {
|
if (this.user === '') {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
<input type="text" class="setup-input" placeholder="请输入服务器地址" v-model="addrip">
|
<input type="text" class="setup-input" placeholder="请输入服务器地址" v-model="addrip">
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="zd_wrapper">
|
<!-- <view class="zd_wrapper">
|
||||||
<view class="input-wrap">
|
<view class="input-wrap">
|
||||||
<view class="input-label">刷新时间(s)</view>
|
<view class="input-label">刷新时间(s)</view>
|
||||||
<input type="text" class="setup-input" placeholder="请输入刷新时间" v-model="setTime">
|
<input type="text" class="setup-input" placeholder="请输入刷新时间" v-model="setTime">
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="submit-bar">
|
<view class="submit-bar">
|
||||||
<button class="submit-button" @click="_submit">确认</button>
|
<button class="submit-button" @click="_submit">确认</button>
|
||||||
|
|||||||
@@ -106,11 +106,12 @@
|
|||||||
|
|
||||||
.mask {
|
.mask {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
z-index: 99;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background-color: rgba(0, 0, 0, .65);
|
background-color: rgba(0, 0, 0, .9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.botton-radius {
|
.botton-radius {
|
||||||
@@ -120,6 +121,7 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
z-index: 100;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 600rpx;
|
width: 600rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|||||||
140
pages/modules/man-paichan.vue
Normal file
140
pages/modules/man-paichan.vue
Normal 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>
|
||||||
@@ -26,10 +26,55 @@ export const handLogin = (user, password) => request({
|
|||||||
* 人工排产
|
* 人工排产
|
||||||
*/
|
*/
|
||||||
// 工单
|
// 工单
|
||||||
export const manualSortingOrders = () => request({
|
// export const manualSortingOrders = () => request({
|
||||||
url:'api/pda/manualSorting/orders',
|
// url:'api/pda/manualSorting/orders',
|
||||||
data: {}
|
// 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({
|
export const productionScheduling = (code, user) => request({
|
||||||
url:'api/pda/manualSorting/productionScheduling',
|
url:'api/pda/manualSorting/productionScheduling',
|
||||||
|
|||||||
Reference in New Issue
Block a user