<template>
|
<view>
|
<uni-popup ref="popup" type="bottom" @change="popupChangeHandler">
|
<view class="form">
|
<!-- 合格数量 -->
|
<view class="form-item">
|
<view class="title">合格数量:</view>
|
<view class="right">
|
<input v-model="hform.HQty" placeholder="请输入合格数量" />
|
</view>
|
</view>
|
<!-- 不良数量 -->
|
<view class="form-item">
|
<view class="title">不良数量:</view>
|
<view class="right">
|
<input v-model="hform.HBadCount" placeholder="请输入不良数量" />
|
</view>
|
</view>
|
<!-- 报废数量 -->
|
<view class="form-item">
|
<view class="title">报废数量:</view>
|
<view class="right">
|
<input v-model="hform.HWasterQty" placeholder="请输入报废数量" />
|
</view>
|
</view>
|
<!-- 生产资源 -->
|
<view class="form-item">
|
<view class="title">生产资源:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHSourceName" placeholder="请选择生产资源" v-model="hform.HSourceName"
|
@input="HSourceNameChange"></uni-combox>
|
</view>
|
</view>
|
<!-- 工作中心 -->
|
<view class="form-item">
|
<view class="title">工作中心:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHCenterName" placeholder="请选择工作中心" v-model="hform.HCenterName"
|
@input="HCenterNameChange"></uni-combox>
|
</view>
|
</view>
|
<!-- 生产班组 -->
|
<view class="form-item">
|
<view class="title">生产班组:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHGroupName" placeholder="请选择生产班组" v-model="hform.HGroupName"
|
@input="HGroupNameChange"></uni-combox>
|
</view>
|
</view>
|
<!-- 操作员 -->
|
<view class="form-item">
|
<view class="title"><text>*</text>操作员:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHEmpName" placeholder="请选择操作员" v-model="hform.HEmpName"
|
@input="HEmpNameChange"></uni-combox>
|
</view>
|
</view>
|
|
<!-- 底部提交按钮 -->
|
<view class="bottom-btn">
|
<button class="btn-a" size="mini" @tap="submit">提交</button>
|
</view>
|
</view>
|
</uni-popup>
|
</view>
|
</template>
|
|
<script>
|
import getDateTime from '@/utils/getdateTime.js';
|
import {
|
getUserInfo
|
} from "@/utils/auth.js";
|
import {
|
CommonUtils
|
} from '../../utils/common';
|
|
export default {
|
name: "BillListPopup_gongxuOut",
|
data() {
|
return {
|
userInfo: getUserInfo(),
|
serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
|
// 下拉框候选数组
|
arrayHSourceName: [],
|
HSourceNameList: [],
|
arrayHGroupName: [],
|
HGroupNameList: [],
|
arrayHEmpName: [],
|
HEmpNameList: [],
|
arrayHCenterName: [],
|
HCenterNameList: [],
|
|
hform: {
|
HInterID: '', // 内部使用,不展示
|
HBillNo: '', // 内部使用,不展示
|
HQty: '',
|
HBadCount: 0,
|
HWasterQty: 0,
|
HSourceName: '',
|
HSourceID: 0,
|
HCenterName: '',
|
HCenterID: 0,
|
HGroupName: '',
|
HGroupID: 0,
|
HEmpName: '',
|
HEmpID: 0,
|
}
|
}
|
},
|
|
mounted() {
|
this.getNewData(); // 获取新单号
|
this.getHSourceList(); // 生产资源
|
this.getHGroupList(); // 生产班组
|
this.getHEmpList(); // 操作员
|
this.getHCenterList(); // 工作中心
|
this.getDefValByUser(); // 用户默认值
|
},
|
|
methods: {
|
// 弹窗开关处理
|
popupChangeHandler(e) {
|
if (e.show === false) {
|
// 关闭时重置数量
|
this.hform.HQty = '';
|
this.hform.HBadCount = 0;
|
this.hform.HWasterQty = 0;
|
this.getNewData();
|
}
|
},
|
|
// 打开弹窗
|
showPopup(item) {
|
this.hform.HInterID=item.HInterID
|
this.hform.HQty=item.接收合格数量
|
this.hform.HWasterQty=item.报废数量
|
this.hform.HBadCount=item.不良数量
|
this.hform.HSourceID=item.HSourceID
|
|
this.hform.HSourceID=item.HSourceID
|
this.hform.HSourceName=item.生产资源
|
this.hform.HCenterID=item.HCenterID
|
this.hform.HCenterName=item.工作中心
|
this.hform.HGroupID=item.HGroupID
|
this.hform.HGroupName=item.班组
|
this.hform.HEmpID=item.HEmpID
|
this.hform.HEmpName=item.操作员
|
this.$refs.popup.open();
|
},
|
|
// 通过登录用户获取默认值
|
getDefValByUser() {
|
uni.request({
|
url: this.serverUrl + '/Cj_StationInBill/GetDefValByUser',
|
method: "GET",
|
async: false,
|
data: {
|
"Czybm": this.userInfo.Czybm,
|
"Czymc": this.userInfo.Czymc
|
},
|
success: (res) => {
|
if (res.data.count == 1) {
|
var data = res.data.data[0];
|
this.hform.HGroupID = data.HGroupID;
|
this.hform.HGroupName = data.生产班组名称;
|
this.hform.HEmpID = data.HEmpID;
|
this.hform.HEmpName = data.操作员名称;
|
this.hform.HSourceID = data.HSourceID;
|
this.hform.HSourceName = data.生产资源名称;
|
this.hform.HCenterID = data.HWorkCenterID;
|
this.hform.HCenterName = data.工作中心名称;
|
} else {
|
uni.showToast({
|
title: '获取默认值失败',
|
icon: 'none'
|
});
|
}
|
},
|
fail: () => {
|
uni.showToast({
|
title: '接口请求失败',
|
icon: 'none'
|
});
|
},
|
});
|
},
|
|
// 生产资源列表
|
getHSourceList() {
|
uni.request({
|
url: this.serverUrl + '/api/newBill/getSourceList',
|
data: { sWhere: '' },
|
success: (res) => {
|
if (res.data.code == 1) {
|
this.HSourceNameList = res.data.data.Gy_Source;
|
this.arrayHSourceName = this.HSourceNameList.map(item => item.生产资源);
|
this.$forceUpdate();
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
},
|
HSourceNameChange(e) {
|
const found = this.HSourceNameList.find(item => item.生产资源 == e);
|
if (found) this.hform.HSourceID = found.HItemID;
|
},
|
|
// 生产班组列表
|
getHGroupList() {
|
uni.request({
|
url: this.serverUrl + '/Web/GetProductionTeamList_Json',
|
data: { sWhere: "and HUSEORGID = " + uni.getStorageSync('OrganizationID') },
|
success: (res) => {
|
if (res.data.count == 1) {
|
this.HGroupNameList = res.data.data;
|
this.arrayHGroupName = this.HGroupNameList.map(item => item.班组);
|
this.$forceUpdate();
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
},
|
HGroupNameChange(e) {
|
const found = this.HGroupNameList.find(item => item.班组 == e);
|
if (found) this.hform.HGroupID = found.HItemID;
|
},
|
|
// 操作员列表
|
getHEmpList() {
|
uni.request({
|
url: this.serverUrl + '/Web/GetEmployeeList_Json',
|
data: {
|
Employee: '',
|
HGroupID: 0,
|
HDeptID: uni.getStorageSync("HDeptID")
|
},
|
success: (res) => {
|
if (res.data.count == 1) {
|
this.HEmpNameList = res.data.data;
|
this.arrayHEmpName = this.HEmpNameList.map(item => item.HName);
|
this.$forceUpdate();
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
},
|
HEmpNameChange(e) {
|
const found = this.HEmpNameList.find(item => item.HName == e);
|
if (found) this.hform.HEmpID = found.HItemID;
|
},
|
|
// 工作中心列表
|
getHCenterList() {
|
uni.request({
|
url: this.serverUrl + '/api/newBill/getWorkCenterList',
|
data: { sWhere: '' },
|
success: (res) => {
|
if (res.data.code == 1) {
|
this.HCenterNameList = res.data.data.Gy_Source;
|
this.arrayHCenterName = this.HCenterNameList.map(item => item.工作中心);
|
this.$forceUpdate();
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
},
|
HCenterNameChange(e) {
|
const found = this.HCenterNameList.find(item => item.工作中心 == e);
|
if (found) this.hform.HCenterID = found.HItemID;
|
},
|
|
// 获取新单据号(内部使用)
|
getNewData() {
|
uni.request({
|
url: this.serverUrl + '/Web/GetMAXNum',
|
data: { HBillType: '3791' },
|
success: (res) => {
|
if (res.data.count == 1) {
|
this.hform.HInterID = res.data.data[0].HInterID;
|
this.hform.HBillNo = res.data.data[0].HBillNo;
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
},
|
|
// 提交前校验
|
preSubmitCheck() {
|
if (CommonUtils.isEmpty(this.hform.HQty)) {
|
return { pass: false, message: '合格数量不能为空' };
|
}
|
if (CommonUtils.isEmpty(this.hform.HBadCount)) {
|
return { pass: false, message: '不良数量不能为空' };
|
}
|
if (CommonUtils.isEmpty(this.hform.HWasterQty)) {
|
return { pass: false, message: '报废数量不能为空' };
|
}
|
if (!this.hform.HEmpName) {
|
return { pass: false, message: '请选择操作员' };
|
}
|
return { pass: true, message: '' };
|
},
|
|
// 提交
|
submit() {
|
const { pass, message } = this.preSubmitCheck();
|
if (!pass) {
|
return uni.showToast({ icon: 'none', title: message });
|
}
|
|
uni.showLoading({ title: '提交中...' });
|
|
|
const submitData = {
|
HInterID: this.hform.HInterID,
|
HBillNo: this.hform.HBillNo,
|
HQty: this.hform.HQty,
|
HBadCount: this.hform.HBadCount,
|
HWasterQty: this.hform.HWasterQty,
|
HSourceID: this.hform.HSourceID,
|
HSourceName: this.hform.HSourceName,
|
HCenterID: this.hform.HCenterID,
|
HCenterName: this.hform.HCenterName,
|
HGroupID: this.hform.HGroupID,
|
HGroupName: this.hform.HGroupName,
|
HEmpID: this.hform.HEmpID,
|
HEmpName: this.hform.HEmpName,
|
|
};
|
|
uni.request({
|
url: this.serverUrl + '/Cj_StationEntrustOutBill/setOtherProperty',
|
method: 'POST',
|
data: {
|
oMain: JSON.stringify(submitData)+ ";" + uni.getStorageSync('HUserName'),
|
|
},
|
success: (res) => {
|
uni.hideLoading();
|
if (res.data.count == 1) {
|
uni.showToast({ title: '提交成功', icon: 'none' });
|
setTimeout(() => {
|
this.$refs.popup.close();
|
}, 1500);
|
} else {
|
uni.showToast({ title: res.data.Message, icon: 'none' });
|
}
|
},
|
fail: () => {
|
uni.hideLoading();
|
uni.showToast({ title: '接口请求失败', icon: 'none' });
|
},
|
});
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.form {
|
box-sizing: border-box;
|
border-radius: 15rpx 15rpx 0 0;
|
padding: 20rpx 20rpx 160rpx 20rpx;
|
background-color: #fff;
|
display: flex;
|
flex-direction: column;
|
gap: 10rpx;
|
overflow-y: auto;
|
// max-height: 70vh;
|
max-height: calc(80vh - 120px);
|
}
|
|
.form-item {
|
display: flex;
|
align-items: center;
|
font-size: 30rpx;
|
padding: 6rpx 0;
|
|
.title {
|
width: 180rpx;
|
flex-shrink: 0;
|
|
text {
|
color: red;
|
font-weight: bold;
|
}
|
}
|
|
.right {
|
flex: 1;
|
border-radius: 22rpx;
|
border: 1px solid #acacac;
|
}
|
|
input, .uni-combox {
|
width: 100%;
|
padding: 8rpx 20rpx;
|
font-size: 30rpx;
|
}
|
}
|
|
.bottom-btn {
|
width: 100%;
|
box-sizing: border-box;
|
position: fixed;
|
bottom: 0;
|
left: 0;
|
background-color: #fff;
|
box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
|
padding: 30rpx 40rpx 40rpx 40rpx;
|
display: flex;
|
justify-content: center;
|
|
button {
|
border-radius: 50rpx;
|
width: 300rpx;
|
height: 66rpx;
|
line-height: 66rpx;
|
font-size: 28rpx;
|
background-color: #3A78FF;
|
color: #fff;
|
}
|
}
|
</style>
|