Browse Source

修改计划完工2024/7/22 16:27:47

hella_vue3
zhang_li 3 months ago
parent
commit
ebdcfa896c
  1. 55
      src/common/basic.js
  2. 88
      src/pages/fg/coms/comReceiptPopup.vue
  3. 21
      src/pages/fg/receiptByPlan.vue

55
src/common/basic.js

@ -871,6 +871,61 @@ export function getBatch8() {
return year + month + day;
}
/**
* 获取前几天和后几天的日期 2024-07-07
*/
export function lastThreeDays(grapDay) {
let dates = [];
for (let i = grapDay; i >= 0; i--) {
// 创建新的Date对象,并减去i天
let date = new Date();
date.setDate(date.getDate() - i);
// 将格式化的日期字符串添加到数组中
dates.push(formatDate(date));
}
for (let i = 0; i <grapDay; i++) {
// 创建新的Date对象,并减去i天
let date = new Date();
date.setDate(date.getDate() + (i+1));
// 将格式化的日期字符串添加到数组中
dates.push(formatDate(date));
}
return dates;
}
//20240702
export function formatDate(date) {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
}
export function getBeforeDayDate(grapDay) {
const today = new Date();
var resultList = []
//获取前几天
var beforeList = []
var afterList = []
for (var i = 0; i < grapDay; i++) {
beforeList.push(today.getDate() - (i + 1))
}
//获取后几天
var afterList = []
for (var i = 0; i < grapDay; i++) {
afterList.push(today.getDate() + (i + 1))
}
resultList.concat(beforeList)
resultList.push(today)
resultList.concat(afterList)
return resultList;
}
export function getCurrDate() {
var date = new Date();
return getDate(date);

88
src/pages/fg/coms/comReceiptPopup.vue

@ -24,7 +24,18 @@
</view>
</view>
<view class="split_line"></view>
<view class="title" style="display: flex; align-items: center; padding: 10rpx">
<text style="flex-shrink: 0; width: 25%">计划日期</text>
<view class="customerBorder" @click="showSelectDate">
{{ planDate }}
</view>
<u-select v-model="showDateSelect" mode="mutil-column-auto" :list="planDateList" @confirm="confirmSelectDate"></u-select>
<view class="">
<image src="/static/icons/down.svg" mode="" style="width: 40rpx; height: 40rpx; margin-left: 20rpx" @click="showSelectDate"> </image>
</view>
</view>
<view class="split_line"></view>
<view class="title" style="display: flex; align-items: center; padding: 10rpx">
<text style="flex-shrink: 0; width: 25%">物料代码</text>
<view class="customerBorder">
@ -36,15 +47,7 @@
<image src="/static/icons/down.svg" mode="" style="width: 40rpx; height: 40rpx; margin-left: 20rpx" @click="showSelectItemCode"> </image>
</view>
</view>
<view class="split_line"></view>
<view class="title" style="display: flex; align-items: center; padding: 10rpx">
<text style="flex-shrink: 0; width: 25%">批次</text>
<uni-easyinput v-model="batch"></uni-easyinput>
<view class="">
<image src="" mode="" style="width: 40rpx; height: 40rpx; margin-left: 20rpx" @click="showSelectLine"> </image>
</view>
</view>
<!-- <view class="title " style="display: flex;align-items: center;padding: 10rpx;">
<text style=" flex-shrink: 0; width: 25%;">计划数量</text>
<view class="customerBorder">
@ -66,6 +69,15 @@
<image src="/static/icons/down.svg" mode="" style="width: 40rpx; height: 40rpx; margin-left: 20rpx" @click="showSelectPackUnit"> </image>
</view>
</view>
<view class="split_line"></view>
<view class="title" style="display: flex; align-items: center; padding: 10rpx">
<text style="flex-shrink: 0; width: 25%">批次</text>
<uni-easyinput v-model="batch"></uni-easyinput>
<view class="">
<image src="" mode="" style="width: 40rpx; height: 40rpx; margin-left: 20rpx" @click="showSelectLine"> </image>
</view>
</view>
<view class="split_line"></view>
</view>
@ -85,7 +97,7 @@
import { getIssueJobByProductionline, getPlaneInfoByproductLine, getPackUnitByItemCode, getProductionlineAndWorkStation } from '@/api/request2.js'
import { getPackUnitName, getUomInfo } from '@/common/directory.js'
import { getCurrDate, getBatch8, dateFormatData } from '@/common/basic.js'
import { getCurrDate, getBatch8, dateFormatData, lastThreeDays } from '@/common/basic.js'
import { calc } from '@/common/calc.js'
@ -123,7 +135,10 @@ export default {
showPackUnitSelect: false,
itemCodeList: [],
showItemCodeSelect: false,
workStationCode: ''
workStationCode: '',
planDate: '',
showDateSelect: false,
planDateList: []
}
},
props: {
@ -139,6 +154,7 @@ export default {
methods: {
openRequestPopup() {
this.initData()
this.planDate = getCurrDate()
this.batch = getBatch8()
this.$refs.popup.open('bottom')
},
@ -162,6 +178,9 @@ export default {
this.itemCodeList = []
this.showItemCodeSelect = false
this.workStationCode = ''
this.planDate = ''
this.showDateSelect = false
this.planDateList = []
},
closeRequestPopup() {
@ -172,6 +191,11 @@ export default {
},
confirm() {
if (!this.planDate) {
this.showErrorMessage('请先选择计划日期')
return
}
if (this.productionLineName == '请选择生产线') {
this.showErrorMessage('请选择生产线')
return
@ -228,6 +252,32 @@ export default {
this.productionLineName = `${data[0].label}${data[1].label}`
this.productionLineCode = data[0].value
this.workStationCode = data[1].value
this.clearItemCode()
this.clearPackUnit()
},
clearItemCode() {
this.planDate = getCurrDate()
this.itemCode = '请选择物料信息'
this.uom = ''
this.planQty = 0
this.goodQty = 0
this.planNumber = ''
},
confirmSelectDate(data) {
this.planDate = data[0].label
},
showSelectDate() {
this.showDateSelect = true
const list = lastThreeDays(3)
this.planDateList = []
list.forEach((res) => {
this.planDateList.push({
label: res,
value: ''
})
})
},
showSelectLine() {
@ -255,16 +305,19 @@ export default {
}
},
showSelectItemCode() {
if (!this.planDate) {
this.showErrorMessage('请先选择计划日期')
return
}
if (!this.productionLineCode) {
this.showErrorMessage('请先选择生产线')
return
}
console.log('当天', getCurrDate())
uni.showLoading({
title: '加载中',
mask: true
})
getPlaneInfoByproductLine(this.productionLineCode, getCurrDate())
getPlaneInfoByproductLine(this.productionLineCode, this.planDate)
.then((res) => {
uni.hideLoading()
if (res.data && res.data.length > 0) {
@ -290,6 +343,17 @@ export default {
this.planQty = productionPlan.planQty
this.goodQty = productionPlan.goodQty
this.planNumber = productionPlan.number
//
this.clearPackUnit()
},
clearPackUnit() {
this.packUnitName = '请选择包装规格'
this.packUnit = ''
const pack = this.packUnitList.filter((r) => r.packUnit == this.packUnit)
this.packQtyHint = ''
this.packQty = 0
},
showSelectPackUnit() {

21
src/pages/fg/receiptByPlan.vue

@ -70,7 +70,7 @@
</view>
<view class="uni-flex uni-row">
<button class="btn_single_clear" hover-class="btn_commit_after" style="margin-right: 50rpx" @click="clear">清空</button>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="submit">提交</button>
</view>
</view>
</view>
@ -179,18 +179,33 @@ const swipeClick = (e, dataContent, index) => {
})
}
}
const commit = async () => {
const submit = () => {
if (allList.value.length == 0) {
showErrorMessage('请先扫描唯一码')
return
}
if (allList.value.length < dataContent.value.packQty) {
comMessageRef.value.showQuestionMessage('扫描数量小于计划数量,是否提交?', (res) => {
if (res) {
commit()
}
})
} else {
commit()
}
}
const commit = async () => {
try {
const params = setParams()
uni.showLoading({
title: '提交中...',
mask: true
})
const params = setParams()
console.log(JSON.stringify(params))
const list = []
const planData = await planReceiptSubmit(params)
if (planData.data) {

Loading…
Cancel
Save