剩余模块:生产入库,销售出库

This commit is contained in:
2025-05-20 14:40:44 +08:00
parent 14a5fa371b
commit 933ddab8f3
68 changed files with 8868 additions and 13081 deletions

View File

@@ -4,6 +4,9 @@
<l-header :title="state.FBillNo" sticky #right>
<view style="margin-right: 32rpx;" @click="dataPushNotification">{{ t('receive.tj') }}</view>
</l-header>
<view class="input-box">
<up-tabs :scrollable="false" :list="state.tabsList" @click="upTabsItemFun"></up-tabs>
</view>
<view class="input-box">
<view class="input-item">
<up-input :placeholder="t('receive.code')" border="none" clearable inputAlign="left" inputmode="none"
@@ -18,7 +21,7 @@
<scroll-view id="scroll-box" class="scroll-box" scroll-y="true"
:style="{'height':state.scrollHeight+'px'}">
<view class="list-box-list" v-if="state.dataList.length > 0">
<view class="data-item" v-for="(item, index) in state.dataList" @click="toPrintFun(item)"
<view class="data-item" v-for="(item, index) in state.dataList"
:style="[{'background-color':interpolation(item)},{'margin-bottom':index + 1 === state.dataList.length ? '80px' : '20px'}]"
:key="index">
<view class="text" style="margin-bottom: 20px;display: flex;">
@@ -40,7 +43,7 @@
<view>{{ item.Lot }}</view>
</view>
<view class="itemBox">
<view>仓库</view>
<view>{{ t('index.ck') }}</view>
<view class="zongjian"></view>
<view>{{ item.MultiLanguageText }}</view>
</view>
@@ -69,11 +72,7 @@
</view>
</view>
</view>
<scanFrame ref="scanFrameRef" @confirmation="scanFrameCnfirmation"
@scanFrameDataFeedback="(res:object)=>{state.scanFrameDataFeedback = res}"
@fast="(row:any)=>{state.scanFrameDataFeedback = row}" @err="scanFrameErrFun" />
<shortcut ref="shortcutRef" @dataToscanFrame="dataToscanFrameFun" />
<tools ref="toolsRef" @defaultPopup="defaultPopupFun" @scanRecord="scanRecordFun" />
<tools ref="toolsRef" :type="['scanRecord']" @scanRecord="scanRecordFun" />
</template>
<script lang="ts" setup>
@@ -111,6 +110,11 @@
materialId: '',
supplierName: '',
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
tabsIndex:'1',
tabsList: [
{ name: computed(() => t('index.bz')), type: '1' },
{ name: computed(() => t('index.minbz')), type: '2' },
]
})
@@ -131,7 +135,9 @@
state.scrollHeight = data.height
}).exec();
// scanFrameRef.value.stateShow(true)
})
const upTabsItemFun = (e:any) => {
state.tabsIndex = e.type
}
const toPrintFun = (row:any) => {
@@ -165,91 +171,25 @@
//查询录入
const getReceiveBillScanData = (val : string) => {
SAL_DELIVERYNOTICEScanData({
FBarCode: val,
FBillNo: state.FBillNo,
FBillNo: state.FBillNo,
}).then((res : any) => {
if (res.data !== null) {
console.log(res);
scanFrameRef.value.getreceiveBillScanData({ ...res.data, queryString: state.queryString, scanFrameShowSate: state.shortcutDataFeedback.scanFrameShowSate, stashVerify: true })
if (Object.keys(state.shortcutDataFeedback).length) {
if (state.shortcutDataFeedback.scanFrameShowSate) {
scanFrameRef.value.stateShow(true)
} else {
postTemporaryScanDraftSaveFun(state.scanFrameDataFeedback)
}
} else {
scanFrameRef.value.stateShow(true)
}
IsPack: state.tabsIndex === '1' ? 'true' : 'false'
}).then((res : any) => {
if (res.code === 200) {
fnDataList(state.materialId)
state.queryString = ''
} else {
uni.$u.toast(t('verify.noDataMessage'))
}
})
}
//固定弹窗数据传输
const scanFrameCnfirmation = (row : any) => {
state.scanFrameDataFeedback = row
postTemporaryScanDraftSaveFun(state.scanFrameDataFeedback)
}
const scanFrameErrFun = () => {
//异常弹出
scanFrameRef.value.stateShow(true)
}
//数据记录暂存
const postTemporaryScanDraftSaveFun = (item : any) => {
const obj = {};
if (item.warehouseData.FIsOpenLocation) {
const key = `FVHUBSTOCKFLEX__FF${item.warehouseData.FFlexId}`; //仓位Id
obj[key] = { FNumber: item.locationData.FlexEntryId.Number }; //仓位编码
}
const str = JSON.stringify(obj);
console.log(item);
temporaryScanDraftSave({
FVHUBFormId: "SAL_DELIVERYNOTICE", //数据类型
FVHUBFBillNo: state.FBillNo, //单据编号
FVHUBScanNumber: state.queryString, //条码
FVHUBMaterialNumber: item.articlesStr, //物料编码
FVHUBScanQty: item.quantityStr + '', //扫描数量
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //物料ID
FVHUBFlot: item.batchNumberStr, //批号
FVHUBStock: {
FNUMBER: item.warehouseData.FNUMBER //仓库编号
},
FVHUBMaterial: {
FNUMBER: item.articlesStr
},
...JSON.parse(str),
}).then((res : any) => {
console.log(res);
state.queryString = ''
if (res.data.IsSuccess) {
fnDataList(state.materialId);
uni.$u.toast('成功')
scanFrameRef.value.stateShow(false)
}
})
}
//默认值传递
const dataToscanFrameFun = (res : object) => {
state.shortcutDataFeedback = res
scanFrameRef.value.getComponentsData(res)
shortcutRef.value.stateShow(false)
}
//唤起默认值弹窗
const defaultPopupFun = () => {
})
}
const scanRecordFun = () => {
toPages('/pages/records/index', {
FormId: 'SAL_DELIVERYNOTICE',
FbillNo: state.FBillNo
})
}
/**
* 数据推送
})
}
const dataPushNotification = () => {
const dataPushNotification = () => {
uni.showModal({
title: t('public.ts'), content: t('public.tjMessage'), cancelText: t('public.cancel'), confirmText: t('public.confirm'),
success(res) {
@@ -273,9 +213,11 @@
ScanEntry.push({
FENTRYID: item.FVHUBEntryId,
Qty: item.FVHUBScanQty,
Flot: item.FVHUBFlot,
Flot: item.FVHUBFlot,
StockId: item.FVHUBStock,
StockFlex: item.FVHUBStockFlex,
Sno: item.FVHUBJSON
})
})
//推送数据
@@ -290,14 +232,14 @@
}).then((res : any) => {
if (res.code === 200) {
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
if (res.code === 200) {
fnDataList(state.materialId);
uni.$u.toast(t('public.cg'))
}
})
}
})
})
} else {
uni.$u.toast(t('index.zwsmsj'))
}
@@ -309,10 +251,6 @@
}
}
});
}
/**
}
const fnDataList = (FBillNo : any, statesItem : boolean = false) => {
@@ -329,11 +267,11 @@
dataListArray.forEach((p : any) => {
let item = {
Id: p.Id,
MaterialNo: p.MaterialNumber, //物料编码
MaterialNo: p.MaterialNumber, //物料编码
MaterialName: formatLangTextValue(p.MaterialName), //物料名称
Lot: p.FLot_Text !== '' ? p.FLot_Text : t('index.zwph'), //批号
CheckQty: p.Qty, //应扫数量
CheckJoinQty: p.ScanedQty, //已扫数量
CheckJoinQty: p.ScanedQty, //已扫数量
NoCheckQty: p.UnScanQty, //未扫数量
MultiLanguageText: Object.keys(p.StockId).length ? formatLangTextValue(p.StockId.Name) : t('index.zwck')
};