<template>
|
<view>
|
<page-nav title="委外发料"></page-nav>
|
|
|
<view v-show="topContent.length===0">
|
<div class="sacnBody">
|
<div class="scanImg" @click="topScanClick"></div>
|
<div class="scanText">扫描任务条码</div>
|
</div>
|
</view>
|
|
<view v-show="topContent.length!==0" class="mainContent">
|
<u-gap height="10" bgColor="#eff0f1"></u-gap>
|
<view class="head">
|
<view class="head_block">
|
<view class="head_left">
|
<view class="head_bar"></view>
|
<view class="head_title" style="font-weight: bolder;">
|
发料信息
|
</view>
|
</view>
|
</view>
|
|
<view class="marginLeft20 marginRight20" style="height: 360rpx;" v-if="topContent.length!==0">
|
<view class="marginBottom20" style="display: flex;">
|
<!-- v-for="item in purchorderArr" -->
|
<view class="flex_column titleFont">
|
<view>工单编号:</view>
|
<view>产品编码:</view>
|
<view>产品名称:</view>
|
<view>产品规格:</view>
|
<view>当前工序:</view>
|
<view>任务数量:</view>
|
<view>未发/已发:</view>
|
</view>
|
<view class="flex_column contentFont">
|
<view>{{topContent[0].wo_code}}</view>
|
<view>{{topContent[0].partnumber}}</view>
|
<view>{{topContent[0].partname}}</view>
|
<view>{{topContent[0].partspec?topContent[0].partspec:'/'}}</view>
|
<view>{{topContent[0].stepname}}</view>
|
<view>{{topContent[0].planqty}}</view>
|
<view>{{topContent[0].startqty+'/'+topContent[0].reportqty}}</view>
|
</view>
|
</view>
|
</view>
|
|
</view>
|
|
|
<u-gap height="10" bgColor="#eff0f1"></u-gap>
|
<view class="head">
|
<view class="head_block" style="justify-content: flex-start;height: 70rpx;padding-bottom: 10rpx;">
|
<view class="head_left">
|
<view class="head_bar"></view>
|
<view class="head_title" style="font-weight: bolder;">
|
外协供方
|
</view>
|
</view>
|
<view style="margin-left: 20rpx;">
|
<view @click='WXSheetClick' class="custominputClass">
|
<view v-show='WXSheetValue===""' style="color: rgb(192, 196, 204);">请选择</view>
|
<view v-show='WXSheetValue!==""' class="ellipsis" style="width: 390rpx;">
|
{{WXSheetValue}}
|
</view>
|
<u-icon :name="!WXSheetShow?'arrow-down-fill':'arrow-up-fill'"></u-icon>
|
</view>
|
|
</view>
|
</view>
|
</view>
|
|
|
<u-gap height="10" bgColor="#eff0f1"></u-gap>
|
<view class="head">
|
<view class="head_block" style="justify-content: flex-start;height: 70rpx;padding-bottom: 10rpx;">
|
<view class="head_left">
|
<view class="head_bar"></view>
|
<view class="head_title" style="font-weight: bolder;">
|
外协人员
|
</view>
|
</view>
|
<view style="margin-left: 20rpx;">
|
<view @click='userSheetClick' class="custominputClass">
|
<view v-show='userSheetValue===""' style="color: rgb(192, 196, 204);">请选择</view>
|
<view v-show='userSheetValue!==""' class="ellipsis" style="width: 390rpx;">
|
{{userSheetValue}}
|
</view>
|
<u-icon :name="!userSheetShow?'arrow-down-fill':'arrow-up-fill'"></u-icon>
|
</view>
|
|
</view>
|
</view>
|
</view>
|
|
<u-gap height="10" bgColor="#eff0f1"></u-gap>
|
<view class="head">
|
<view class="head_block" style="justify-content: flex-start;height: 70rpx;padding-bottom: 10rpx;">
|
<view class="head_left">
|
<view class="head_bar"></view>
|
<view class="head_title" style="font-weight: bolder;">
|
发料数量
|
</view>
|
</view>
|
<view style="margin-left: 20rpx;">
|
<view class='inputClass'>
|
<u--input placeholder="请输入" border="surround" type='number' v-model="fqty">
|
</u--input>
|
</view>
|
|
</view>
|
</view>
|
</view>
|
|
|
|
<u-picker v-if="topContent.length!==0" :show="WXSheetShow" :columns="WXColumns" :itemHeight='55'
|
:closeOnClickOverlay='true' @close='WXSheetShow=false' @confirm='WXPickerConfirm'
|
@cancel='WXSheetShow=false'>
|
</u-picker>
|
|
|
<u-picker v-if="topContent.length!==0" :show="userSheetShow" :columns="userColumns" :itemHeight='55'
|
:closeOnClickOverlay='true' @close='userSheetShow=false' @confirm='userPickerConfirm'
|
@cancel='userSheetShow=false'>
|
</u-picker>
|
|
|
</view>
|
|
<u-button size="large" v-show="topContent.length!==0" :loading="isDisabledSubmitButton"
|
loadingText="正在提交,请稍等..." type="primary" @click="submit" text="发料">
|
</u-button>
|
|
|
<!-- 悬浮球 -->
|
<!-- <view v-show="topContent.length!==0&&!WXSheetShow&&!userSheetShow" @click="topScanClick">
|
<drag-ball :x='$DeviceInformation.screenWidth*0.8' :y="$DeviceInformation.screenHeight*0.7"></drag-ball>
|
</view> -->
|
|
<!-- <scan-code></scan-code> -->
|
|
|
</view>
|
</template>
|
|
|
<script>
|
import {
|
MesOrderStepStart,
|
CustomerPermissions,
|
PersonPermissions,
|
SavaMesOrderStepOut
|
} from '../../config/api.js';
|
// import scanCode from '@/components/scan-code/scan-code.vue'
|
|
export default {
|
onLoad(option) {
|
|
},
|
|
onPullDownRefresh() {
|
setTimeout(() => {
|
this.init(() => {
|
uni.stopPullDownRefresh();
|
})
|
}, 1000);
|
},
|
|
data() {
|
return {
|
topRightMessageCount: '',
|
|
isDisabledSubmitButton: false,
|
|
topContent: [],
|
// {
|
// "wo_code": "MO-2023-06-0003_1",
|
// "partnumber": "308",
|
// "partname": "电池包",
|
// "partspec": "",
|
// "seq": "2",
|
// "stepcode": "ZSStep03",
|
// "stepname": "去毛刺",
|
// "nextstepcode": "ZSStep06",
|
// "nextstepname": "包装2",
|
// "stepdesc": "",
|
// "wkshopcode": "ZS001",
|
// "wkshopname": "注塑车间",
|
// "planqty": 50.00,
|
// "startqty": 29.00,
|
// "noreportqty": 29.00,
|
// "reportqty": 21.00,
|
// "noputqty": 0.0,
|
// "list": null
|
// }, //扫描任务条码所带出来的内容
|
|
WXSheetValue: '',
|
WXSheetShow: false, //上拉列表是否展开
|
WXColumns: [],
|
WXSheetList: [],
|
|
|
userSheetValue: '',
|
userSheetShow: false,
|
userColumns: [],
|
userSheetList: [],
|
|
fqty: null,
|
|
|
|
|
}
|
},
|
created() {
|
|
},
|
mounted() {
|
this.init()
|
|
|
// this.getMesOrderStepStart('MO-2023-09-0002_1;106')
|
|
this.handleSelectAllApi()
|
|
|
},
|
methods: {
|
init() {
|
uni.stopPullDownRefresh();
|
},
|
|
async handleSelectAllApi() {
|
await this.getCustomerPermissions()
|
await this.getPersonPermissions()
|
},
|
|
|
async getPersonPermissions(val) {
|
const data = {
|
usercode: val
|
}
|
const res = await PersonPermissions(this.global.formatData(data))
|
this.userSheetList = res.data
|
this.userColumns = [res.data.map(i => i.username)]
|
},
|
|
async getCustomerPermissions(val) {
|
const data = {
|
orderstepqrcode: val
|
}
|
const res = await CustomerPermissions(this.global.formatData(data))
|
this.WXSheetList = res.data
|
this.WXColumns = [res.data.map(i => i.name)]
|
},
|
|
async getMesOrderStepStart(val) {
|
const data = {
|
OperType: 'WX',
|
SelectType: 'OUT',
|
wocode: val ? val.split(';')[0] : '',
|
stepcode: val ? val.split(';')[1] : ''
|
}
|
|
const res = await MesOrderStepStart(this.global.formatData(data))
|
console.log(res, 3)
|
|
if (res.code === '200') {
|
this.WXSheetValue = ''
|
this.userSheetValue = ''
|
this.fqty = null
|
this.topContent = []
|
this.topContent.push(res.data)
|
}
|
|
|
|
},
|
|
// 任务条码 的扫码框点击
|
topScanClick() {
|
let that = this;
|
|
uni.scanCode({
|
onlyFromCamera: true,
|
// scanType: ['barCode', 'qrCode'],
|
scanType: ['qrCode'],
|
success: function(res) {
|
console.log('条码类型:' + res.scanType);
|
console.log('条码内容:' + res.result);
|
|
that.getMesOrderStepStart(res.result)
|
|
},
|
complete: function(res) {
|
|
},
|
fail: function(res) {
|
console.log('条码类型:' + res.scanType);
|
console.log('条码内容:' + res.result);
|
}
|
|
});
|
},
|
|
|
WXSheetClick() {
|
this.WXSheetShow = true
|
},
|
|
WXPickerConfirm(val) {
|
this.WXSheetValue = val.value[0]
|
this.WXSheetShow = false
|
},
|
|
userSheetClick() {
|
this.userSheetShow = true
|
},
|
|
userPickerConfirm(val) {
|
this.userSheetValue = val.value[0]
|
this.userSheetShow = false
|
},
|
|
|
async submit() {
|
|
if (!this.WXSheetValue) {
|
return uni.$u.toast('外协供方不能为空!')
|
}
|
|
if (!this.userSheetValue) {
|
return uni.$u.toast('外协人员不能为空!')
|
}
|
|
if (!this.fqty) {
|
return uni.$u.toast('发料数量不能为空!')
|
}
|
|
if (parseFloat(this.fqty) > parseFloat(this.topContent[0].startqty)) {
|
return uni.$u.toast('发料数量不能大于未发数量!')
|
}
|
|
// const header = {
|
// 'Content-Type': 'application/x-www-form-urlencoded',
|
// 'rediskey': uni.getStorageSync('rediskey'),
|
// 'admin': uni.getStorageSync('usercode'),
|
// 'username': encodeURIComponent(uni.getStorageSync('username')),
|
// 'navTabId': uni.getStorageSync('usercode'),
|
// 'userid': uni.getStorageSync('userid'),
|
// 'guid': uni.getStorageSync('guid'),
|
// 'usertype': 'APP'
|
// }
|
|
const data = {
|
mesordercode: this.topContent[0].wo_code, // 工单编号
|
partcode: this.topContent[0].partnumber, // 产品编码
|
stepseq: this.topContent[0].seq, // 工序序号
|
stepcode: this.topContent[0].stepcode, // 工序编码
|
wxcode: this.WXSheetList.find(i => i.name === this.WXSheetValue).code, // 外协供应商编码
|
outuser: this.userSheetList.find(i => i.username === this.userSheetValue).usercode, // 发料人员
|
taskqty: this.topContent[0].planqty, // 任务数量
|
fqty: this.fqty // 发料数量
|
}
|
|
console.log(JSON.stringify(data), 6)
|
|
this.isDisabledSubmitButton = true
|
const res = await SavaMesOrderStepOut(data)
|
if (res.code === '200') {
|
uni.$u.toast('发料成功!')
|
|
this.WXSheetValue = ''
|
this.userSheetValue = ''
|
this.fqty = null
|
this.topContent = []
|
|
this.isDisabledSubmitButton = false
|
}
|
|
// this.isDisabledSubmitButton = true
|
// uni.uploadFile({
|
// url: this.$baseUrl + '/AppProductionManagement/SavaMesOrderStepOut',
|
// files: [{
|
// "uri": "/"
|
// }],
|
// header: header,
|
// formData: data,
|
// success: (res) => {
|
// uni.$u.toast('发料成功!')
|
|
// this.WXSheetValue = ''
|
// this.userSheetValue = ''
|
// this.fqty = null
|
// this.topContent = []
|
|
// this.isDisabledSubmitButton = false
|
// },
|
// fail(res) {
|
// uni.$u.toast('发料失败!')
|
// this.isDisabledSubmitButton = false
|
// },
|
// })
|
|
|
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
@import url('@/style/global.css');
|
|
::v-deep .uicon-arrow-left>span {
|
display: block;
|
}
|
|
.custominputClass {
|
width: 412rpx;
|
display: flex;
|
justify-content: space-between;
|
border: 3rpx #eff0f1 solid;
|
border-radius: 10rpx;
|
padding: 0 16rpx;
|
line-height: 68rpx;
|
}
|
</style>
|