diff --git a/src/api/request2.js b/src/api/request2.js
index 411c89d3..04766268 100644
--- a/src/api/request2.js
+++ b/src/api/request2.js
@@ -837,10 +837,18 @@ export function putawayRecordSubmit(params) {
export function getIssueJobList(params) {
return http.post("/wms/issue-job-detail/senior",params)
}
-
+/**
+ * 发料生产线查询
+ */
export function getIssueJobByProductionline() {
return http.get("/issue-job-mwmsain/getIssueJobByProductionline")
}
+/**
+ * 发料接收生产线查询
+ */
+export function getProductionReceiptJobByProductionline() {
+ return http.get("/wms/productionreceipt-job-main/getProductionreceiptJobByProductionline")
+}
/**
* 发料任务明细
* @param {*} 任务id
diff --git a/src/common/directory.js b/src/common/directory.js
index 583c4e42..0e59c7e2 100644
--- a/src/common/directory.js
+++ b/src/common/directory.js
@@ -22,6 +22,7 @@ let countStageList = [];
let locationAreaTypeList = [];
let businessList=[];
let countScopeTypeList = [];
+let priorityList = []
@@ -64,6 +65,7 @@ export function clearCacheData() {
locationAreaTypeList=[];
businessList=[];
countScopeTypeList = []
+ priorityList = []
}
//获取字典信息
@@ -608,4 +610,21 @@ export function getPackUnitName(value) {
}
return resultInfo
}
-
+//获取优先级
+export function getPriorityName(value) {
+ console.log(344,value)
+ var resultInfo = "";
+ if (priorityList.length == 0) {
+ priorityList = getDirectoryInfo("priority")
+ }
+ console.log(455,priorityList)
+ if (priorityList.length > 0) {
+ for (let item of priorityList) {
+ if (item.value == value) {
+ resultInfo = item.label
+ break;
+ }
+ }
+ }
+ return resultInfo
+}
diff --git a/src/common/style/new_style.css b/src/common/style/new_style.css
index a1104795..c184661d 100644
--- a/src/common/style/new_style.css
+++ b/src/common/style/new_style.css
@@ -2138,7 +2138,11 @@ button::after {
font-size: 32rpx;
padding: 5px;
}
-
+.card_level {
+ color: #0689da;
+ padding: 5px;
+ font-size: 30rpx;
+}
.card_supportCode {
color: #DA8910;
padding: 5px;
diff --git a/src/mycomponents/balance/level.vue b/src/mycomponents/balance/level.vue
new file mode 100644
index 00000000..e5535c65
--- /dev/null
+++ b/src/mycomponents/balance/level.vue
@@ -0,0 +1,27 @@
+
+
+ {{ title }}
+ {{ getPriorityName1() }}
+
+
+
+
+
+
diff --git a/src/mycomponents/job/jobComMainDetailCard.vue b/src/mycomponents/job/jobComMainDetailCard.vue
index fbffa63c..de5f6ff4 100644
--- a/src/mycomponents/job/jobComMainDetailCard.vue
+++ b/src/mycomponents/job/jobComMainDetailCard.vue
@@ -7,6 +7,7 @@
+
@@ -25,6 +26,7 @@ import toLocation from '@/mycomponents/balance/toLocation.vue'
import batch from '@/mycomponents/balance/batch.vue'
import jobComMainCard from '@/mycomponents/job/jobComMainCard.vue'
import itemCompareQty from '@/mycomponents/item/itemCompareQty.vue'
+import level from '@/mycomponents/balance/level.vue'
const props = defineProps({
dataContent: {
diff --git a/src/mycomponents/scan/winComScanBalanceLocation.vue b/src/mycomponents/scan/winComScanBalanceLocation.vue
new file mode 100644
index 00000000..24d849f0
--- /dev/null
+++ b/src/mycomponents/scan/winComScanBalanceLocation.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mycomponents/scan/winScanPackLevel.vue b/src/mycomponents/scan/winScanPackLevel.vue
new file mode 100644
index 00000000..b6978759
--- /dev/null
+++ b/src/mycomponents/scan/winScanPackLevel.vue
@@ -0,0 +1,140 @@
+
+
+
+
+ -popup>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/count/job/countJob.vue b/src/pages/count/job/countJob.vue
index 26001469..63b23b81 100644
--- a/src/pages/count/job/countJob.vue
+++ b/src/pages/count/job/countJob.vue
@@ -135,11 +135,18 @@ const getList = (type) => {
action: '==',
value: 'locationCode'
})
- // filters.push({
- // column: 'accept_user_id',
- // action: '==',
- // value: store.id
- // })
+
+ filters.push({
+ column: 'isOpenCount',
+ action: '==',
+ value: 'TRUE'
+ })
+
+ filters.push({
+ column: 'accept_user_id',
+ action: '==',
+ value: store.id
+ })
const params = {
filters,
pageNo: pageNo.value,
@@ -271,6 +278,11 @@ const getDataListByType = (code) => {
action: '==',
value: 'locationCode'
})
+ filters.push({
+ column: 'isOpenCount',
+ action: '==',
+ value: 'TRUE'
+ })
filters.push({
column: 'accept_user_id',
action: '==',
@@ -319,6 +331,12 @@ const getScanResult = (result) => {
action: '==',
value: 'locationCode'
})
+
+ filters.push({
+ column: 'isOpenCount',
+ action: '==',
+ value: 'TRUE'
+ })
filters.push({
column: 'countSplitCode',
action: '==',
diff --git a/src/pages/fg/coms/comReceiptPopup.vue b/src/pages/fg/coms/comReceiptPopup.vue
index 2995b235..3adae306 100644
--- a/src/pages/fg/coms/comReceiptPopup.vue
+++ b/src/pages/fg/coms/comReceiptPopup.vue
@@ -138,7 +138,9 @@ export default {
workStationCode: '',
planDate: '',
showDateSelect: false,
- planDateList: []
+ planDateList: [],
+ fgLocationCode: '',
+ rawLocationCode: ''
}
},
props: {
@@ -181,6 +183,8 @@ export default {
this.planDate = ''
this.showDateSelect = false
this.planDateList = []
+ this.fgLocationCode = ''
+ this.rawLocationCode = ''
},
closeRequestPopup() {
@@ -233,7 +237,9 @@ export default {
planQty: this.planQty,
goodQty: this.goodQty,
planNumber: this.planNumber,
- workStationCode: this.workStationCode
+ workStationCode: this.workStationCode,
+ fgLocationCode: this.fgLocationCode,
+ rawLocationCode: this.rawLocationCode
}
this.closeRequestPopup()
this.$emit('confirm', item)
@@ -252,6 +258,9 @@ export default {
this.productionLineName = `${data[0].label}—${data[1].label}`
this.productionLineCode = data[0].value
this.workStationCode = data[1].value
+ const parent = this.productLineList.filter((res) => res.value == this.productionLineCode)
+ const fgLocation = parent[0].children.filter((children) => children.value == this.workStationCode)
+ this.fgLocationCode = fgLocation[0].fgLocationCode
this.clearItemCode()
this.clearPackUnit()
},
@@ -322,7 +331,7 @@ export default {
uni.hideLoading()
if (res.data && res.data.length > 0) {
res.data.forEach((item) => {
- item.label = `${item.itemCode}(${item.planQty}${this.getUomInfo(item.uom)})` + `(${dateFormatData(item.planDate)})`
+ item.label = `${item.itemCode}(${item.planQty}${this.getUomInfo(item.uom)})`
item.value = item
})
this.itemCodeList = res.data
@@ -346,6 +355,26 @@ export default {
// 清除其他数据
this.clearPackUnit()
+ uni.showLoading({
+ title: '加载中',
+ mask: true
+ })
+ getPackUnitByItemCode(this.itemCode)
+ .then((res) => {
+ uni.hideLoading()
+ if (res.data && res.data.list.length > 0) {
+ res.data.list.forEach((item) => {
+ item.value = item.packUnit
+ item.label = `${getPackUnitName(item.packUnit)}(${item.packQty}${this.getUomInfo(item.uom)})`
+ })
+ this.packUnitList = res.data.list
+ const defaultData = res.data.list.filter((item) => item.defaultPackageunit == 'TRUE')
+ this.confirmSelectPackUnit(defaultData)
+ }
+ })
+ .catch((error) => {
+ uni.hideLoading()
+ })
},
clearPackUnit() {
diff --git a/src/pages/fg/receiptByPlan.vue b/src/pages/fg/receiptByPlan.vue
index 44b61b26..48eac642 100644
--- a/src/pages/fg/receiptByPlan.vue
+++ b/src/pages/fg/receiptByPlan.vue
@@ -9,6 +9,10 @@
+
+ 完工库位
+ {{ dataContent.fgLocationCode }}
+
计划数
{{ dataContent.planQty }}{{ dataContent.uom }}
@@ -152,6 +156,7 @@ const requestConfirm = (result) => {
batch: result.batch,
packUnit: result.packUnit,
workStationCode: result.workStationCode,
+ fgLocationCode: result.fgLocationCode,
subList: []
}
}
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 8f9d17ef..14910dd5 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -324,7 +324,7 @@ const rightScroll = async (e) => {
}
const getDictory = () => {
const params = {
- types: ['job_status', 'location_type', 'item_status', 'item_type', 'uom', 'inventory_status', 'container_type', 'pack_unit', 'unplanned_receipt_reason', 'unplanned_issue_reason', 'scrap_reason', 'inspect_failed_reason', 'request_status', 'inspect_type', 'next_action', 'sample_method', 'transfer_mode', 'count_stage', 'inspect_result', 'area_type', 'count_scope_type']
+ types: ['job_status', 'location_type', 'item_status', 'item_type', 'uom', 'inventory_status', 'container_type', 'pack_unit', 'unplanned_receipt_reason', 'unplanned_issue_reason', 'scrap_reason', 'inspect_failed_reason', 'request_status', 'inspect_type', 'next_action', 'sample_method', 'transfer_mode', 'count_stage', 'inspect_result', 'area_type', 'count_scope_type', 'priority']
}
getDictionaryItem(params)
.then((res) => {
diff --git a/src/pages/issue/coms/comIssueRequestPopup.vue b/src/pages/issue/coms/comIssueRequestPopup.vue
index 40ecb514..f6e994af 100644
--- a/src/pages/issue/coms/comIssueRequestPopup.vue
+++ b/src/pages/issue/coms/comIssueRequestPopup.vue
@@ -7,7 +7,7 @@
{{ title }}
-
+
@@ -21,8 +21,21 @@
-
+
+ 优先级
+
+
+
+
+
+
+
+ 优先级
+
+
+
+
位置:
@@ -118,6 +131,21 @@ const maxlength = ref(10)
const stdPackInfo = ref(undefined)
const wareHouseList = ref([])
const showWareHouse = ref(false)
+const priorityList = ref([
+ {
+ value: 0,
+ text: '低'
+ },
+ {
+ value: 1,
+ text: '中'
+ },
+ {
+ value: 2,
+ text: '高'
+ }
+])
+const priority = ref(1) // 优先级
const isShow = ref(false)
const comMessageRef = ref()
const scanPopup = ref()
@@ -178,6 +206,7 @@ const initData = () => {
itemCode.value = '请扫描物料信息'
rawLocationCode.value = ''
positionInfo.value = '请选择位置'
+ priority.value = ''
fromWarehouseCode.value = '请选择仓库代码'
workshopCode.value = '' // 车间
workShopName.value = ''
@@ -212,6 +241,10 @@ const itemCodeLoseFocus = () => {
}
const confirm = () => {
+ if (priority.value === '') {
+ showErrorMessage('请输入优先级', 'priority')
+ return
+ }
if (positionInfo.value == '请选择位置') {
showErrorMessage('请选择位置')
return
@@ -256,6 +289,7 @@ const callback = (action) => {
fgLocationCode: fgLocationCode.value,
fromWarehouseCode: fromWarehouseCode.value,
toWarehouseCode: fromWarehouseCode.value,
+ priority: priority.value,
itemCode: itemCode.value,
itemName: itemName.value,
uom: uom.value,
diff --git a/src/pages/issue/request/issueRequestCreate.vue b/src/pages/issue/request/issueRequestCreate.vue
index f1fb5fac..edf7a278 100644
--- a/src/pages/issue/request/issueRequestCreate.vue
+++ b/src/pages/issue/request/issueRequestCreate.vue
@@ -92,6 +92,7 @@ const requestConfirm = (action, item) => {
toLocationCode: item.rawLocationCode,
fromWarehouseCode: item.fromWarehouseCode,
useOnTheWay: useOnTheWay.value,
+ priority: priority.value,
totalQty: 0,
subList: []
}
@@ -126,7 +127,7 @@ const requestConfirm = (action, item) => {
qty: item.qty,
uom: item.uom
}
-
+ detailSource.value.priority = item.priority
detailSource.value.subList.push(subItem)
} else {
// 有了更新数据
diff --git a/src/pages/issue/request/issueScanRequest.vue b/src/pages/issue/request/issueScanRequest.vue
index a1f847a3..d20f18cf 100644
--- a/src/pages/issue/request/issueScanRequest.vue
+++ b/src/pages/issue/request/issueScanRequest.vue
@@ -4,7 +4,7 @@
-
+
@@ -26,6 +26,7 @@ import jobDetailPopup from '@/mycomponents/job/jobDetailPopup.vue'
import comScanIssuePack from '@/pages/issue/coms/comScanIssuePack.vue'
import comIssueRequestCreator from '@/pages/issue/coms/comIssueRequestCreator.vue'
import winScanPack from '@/mycomponents/scan/winScanPack.vue'
+import winScanPackLevel from '@/mycomponents/scan/winScanPackLevel.vue'
const { proxy } = getCurrentInstance()
const jobContent = ref({}) // 任务内容
@@ -70,13 +71,13 @@ const goScan = () => {
}
}, 400)
}
-const getScanResult = (data) => {
+const getScanResult = (result) => {
detailSource.value = {
subList: []
}
- const labelInfo = data.label
+ const labelInfo = result.label
- var data = {
+ const data = {
itemCode: labelInfo.itemCode,
location: labelInfo.location,
qty: labelInfo.qty,
@@ -88,6 +89,7 @@ const getScanResult = (data) => {
detailSource.value.workStationCode = labelInfo.workStationCode
detailSource.value.warehouseCode = labelInfo.warehouseCode
detailSource.value.workshopCode = labelInfo.workshopCode
+ detailSource.value.priority = result.priorityCode
submit()
}
diff --git a/src/pages/package/coms/comScanPackagePack.vue b/src/pages/package/coms/comScanPackagePack.vue
index 5e9bda74..f63aa8c4 100644
--- a/src/pages/package/coms/comScanPackagePack.vue
+++ b/src/pages/package/coms/comScanPackagePack.vue
@@ -1,77 +1,7 @@
-
-
-
-
-
@@ -84,14 +14,14 @@ import winComScan from '@/mycomponents/scan/winComScan.vue'
import balance from '@/mycomponents/balance/balance.vue'
import balanceQtyEdit from '@/mycomponents/qty/balanceQtyEdit.vue'
import balanceSelect from '@/mycomponents/balance/balanceSelect.vue'
+import winComScanBalanceLocation from '@/mycomponents/scan/winComScanBalanceLocation.vue'
import { getDetailOption, getDetailEditRemoveOption } from '@/common/array.js'
import { getWorkShopLineStation } from '@/api/request2.js'
import { calc } from '@/common/calc.js'
-import { getBalanceByManagementPrecision } from '@/common/balance.js'
-import { getDirectoryItemArray } from '../../../common/directory'
+import { getDirectoryItemArray } from '@/common/directory'
const { proxy } = getCurrentInstance()
const props = defineProps({
@@ -102,7 +32,6 @@ const props = defineProps({
})
const dataContent = ref({})
const jobContent = ref({})
-const expendIcon = ref('arrow-down')
const show = ref(false)
const scanList = ref([])
const toLocation = ref(null)
@@ -114,9 +43,6 @@ const issueRecord = ref([]) // 发料历史
const expand = ref(true)
const scanOptions = ref({})
const editItem = ref({})
-const positionInfo = ref('请选择位置')
-const positionList = ref([])
-const defaultValueList = ref([])
const fromInventoryStatuses = ref('')
const packageInfo = ref({})
const label = ref({})
@@ -133,11 +59,7 @@ const openScanPopup = (content, jobcontent) => {
dataContent.value = content
jobContent.value = jobcontent
initData()
- // this.positionInfo = this.jobContent.workShopCode + "-" + this.jobContent.subList[0].productionLineCode +
- // "-" + this.jobContent.subList[0].workStationCode
- setTimeout((res) => {
- show.value = true
- }, 500)
+ scanPopup.value.openScanPopupForJob(fromLocationCode.value, fromLocationList.value, jobContent.value)
}
const closeScanPopup = () => {
show.value = false
@@ -180,6 +102,20 @@ const fromLocationUpdate = (fromlocation) => {
showErrorMessage(`发料库位【${fromlocation}】不存在`)
}
}
+
+const getScanResult = (result) => {
+ const { balance } = result
+ const packageInfo = result.package
+ const { itemCode } = balance
+ const item = toLocation.value.Items.find((r) => r.itemCode == itemCode)
+ if (item == undefined) {
+ showErrorMessage(`未查找到物料【${itemCode}】的翻包明细`, (res) => {
+ getfocus()
+ })
+ } else {
+ afterGetBalance(result.label, balance, packageInfo)
+ }
+}
const onScan = (result) => {
try {
if (fromLocationCode.value == '') {
@@ -312,8 +248,9 @@ const creatRecord = (label, balance, packageInfo) => {
balance.packUnit = packageInfo.packUnit
const record = {
scaned: true,
- itemCode: label.itemCode,
- packingNumber: label.packingNumber,
+ itemCode: label.itemCode
+ packingNumber: packageInfo.number,
+ parentPackingNumber:packageInfo.parentNumber,
batch: label.batch,
qty: Number(balance.qty),
// qty: Number(label.qty) > Number(balance.qty) ? Number(balance.qty) : Number(label.qty),
@@ -341,20 +278,17 @@ const addRecord = (batch, label, balance, packageInfo) => {
getfocus()
}
const getfocus = () => {
- if (!comscan.value) {
- comscan.value.getfocus()
+ if (scanPopup.value) {
+ scanPopup.value.getfocus()
}
}
const losefocus = () => {
- if (comscan.value != undefined) {
- comscan.value.losefocus()
+ if (scanPopup.value ) {
+ scanPopup.value.losefocus()
}
}
-const expands = () => {
- expand.value = !expand.value
- expendIcon.value = expand.value == true ? 'arrow-down' : 'arrow-up'
-}
+
const swipeClick = (params, item) => {
const { text } = scanOptions.value[params[1]]
if (text == '详情') {
@@ -396,10 +330,10 @@ const remove = (record, index) => {
})
}
const packGetFocus = () => {
- comscan.value.getfocus()
+ scanPopup.value.getfocus()
}
const packLoseFocus = () => {
- comscan.value.losefocus()
+ scanPopup.value.losefocus()
}
const showMessage = (message, callback) => {
setTimeout((r) => {
diff --git a/src/pages/package/job/overPackageJobDetail.vue b/src/pages/package/job/overPackageJobDetail.vue
index afde3c52..5cc5e384 100644
--- a/src/pages/package/job/overPackageJobDetail.vue
+++ b/src/pages/package/job/overPackageJobDetail.vue
@@ -51,7 +51,7 @@ import { ref, getCurrentInstance, nextTick } from 'vue'
import { onLoad, onShow, onNavigationBarButtonTap, onReady, onBackPress, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app'
import { takeOverPageJob, cancleTakeOverPageJob, getOverPageJobDetail, overPageSubmit, getPackageLabel } from '@/api/request2.js'
-import { goHome, updateTitle, navigateBack, getRemoveOption, getCurrDateTime, getDirectoryItemArray, getPackingNumberAndBatch } from '@/common/basic.js'
+import { goHome, updateTitle, navigateBack, getRemoveOption, getCurrDateTime, getDirectoryItemArray, getPackingNumberAndBatch, deepCopyData } from '@/common/basic.js'
import { getDataSource } from '@/pages/package/js/package.js'
@@ -278,6 +278,7 @@ const setParams = () => {
record.handleQty = r.qty
record.fromPackingNumber = r.packingNumber
+ record.fromParentPackingNumber = r.parentPackingNumber
record.fromBatch = r.batch
record.fromContainerNumber = r.ContainerNumber
@@ -302,7 +303,7 @@ const setParams = () => {
}
subItem.recordList.push(record)
})
- subList.push(subItem)
+ subList.push(deepCopyData(subItem))
}
}
})
diff --git a/src/pages/package/record/overPackageRecord.vue b/src/pages/package/record/overPackageRecord.vue
index 5e70eb69..98c3830d 100644
--- a/src/pages/package/record/overPackageRecord.vue
+++ b/src/pages/package/record/overPackageRecord.vue
@@ -294,7 +294,11 @@ const commit = () => {
}
const checkSubmit = () => {
- const tempHandleQty = detailSource.value[0].subList[0].handleQty
+ // submitJob()
+ let tempHandleQty = 0
+ detailSource.value.forEach((res) => {
+ tempHandleQty += res.handleQty
+ })
// 包装提示
if (tempHandleQty % toPackQty.value > 0) {
comMessageRef.value.showQuestionMessage(`扫描数量【${tempHandleQty}】,将有1个非整包,是否提交?`, (res) => {
diff --git a/src/pages/productionReceipt/job/productionReceiptJob.vue b/src/pages/productionReceipt/job/productionReceiptJob.vue
index 1cff2f92..891c2c1a 100644
--- a/src/pages/productionReceipt/job/productionReceiptJob.vue
+++ b/src/pages/productionReceipt/job/productionReceiptJob.vue
@@ -22,7 +22,7 @@