diff --git a/fe/PC/src/api/wms-api.js b/fe/PC/src/api/wms-api.js
index 018705485..14e11ae80 100644
--- a/fe/PC/src/api/wms-api.js
+++ b/fe/PC/src/api/wms-api.js
@@ -656,14 +656,6 @@ export async function productionRecycleJobHandle(id,data) {
})
}
-// 客户退拆任务-完成 todo
-export async function productionRecycleJobComplete(id) {
- return request({
- url: baseURL + 'wms/store/production-recycle-job/handle/'+id,
- method: 'post',
- })
-}
-
// 客户退拆任务-执行后打印
export async function productRecycleNoteExport(data) {
return request({
@@ -674,6 +666,14 @@ export async function productRecycleNoteExport(data) {
})
}
+// 客户退拆任务-完成 todo
+// export async function productionRecycleJobComplete(id) {
+// return request({
+// url: baseURL + 'wms/store/production-recycle-job/handle/'+id,
+// method: 'post',
+// })
+// }
+
// 根据编号获取字典信息
// export function getDictByCode(code) {
// return request({
diff --git a/fe/PC/src/filters/status.js b/fe/PC/src/filters/status.js
index 0309c25dd..adbaf8099 100644
--- a/fe/PC/src/filters/status.js
+++ b/fe/PC/src/filters/status.js
@@ -83,6 +83,11 @@ import store from '@/store/index'
value: 3,
background:"#31BB99",
},
+ 4: {
+ label: "部分完成",
+ value: 4,
+ background:"#21DF4B",
+ },
8: {
label: "关闭",
value: 8,
@@ -2470,7 +2475,7 @@ export function utensilType(index, prop) {
},
2: {
value: 2,
- label: "客户"
+ label: "外物流"
},
}
return Enum(type, index, prop)
diff --git a/fe/PC/src/router/index.js b/fe/PC/src/router/index.js
index 2bded652b..139a62f22 100644
--- a/fe/PC/src/router/index.js
+++ b/fe/PC/src/router/index.js
@@ -318,6 +318,54 @@ export const constantRoutes = [
}
}]
},
+ {
+ path: '/',
+ component: Layout,
+ redirect: '/gridlayout',
+ hidden: true,
+ children: [{
+ path: 'IssueRequestZP',
+ component: () => import('@/views/materialIssueManage/ZP/IssueRequestZP.vue'),
+ name: 'IssueRequestZP',
+ meta: {
+ keepAlive : true,
+ title: '人工发料申请(装配)',
+ icon: '成品发运任务',
+ }
+ }]
+ },
+ {
+ path: '/',
+ component: Layout,
+ redirect: '/gridlayout',
+ hidden: true,
+ children: [{
+ path: 'IssueJobZP',
+ component: () => import('@/views/materialIssueManage/ZP/IssueJobZP.vue'),
+ name: 'IssueJobZP',
+ meta: {
+ keepAlive : true,
+ title: '人工发料任务(装配)',
+ icon: '成品发运任务',
+ }
+ }]
+ },
+ {
+ path: '/',
+ component: Layout,
+ redirect: '/gridlayout',
+ hidden: true,
+ children: [{
+ path: 'IssueNoteZP',
+ component: () => import('@/views/materialIssueManage/ZP/IssueNoteZP.vue'),
+ name: 'IssueNoteZP',
+ meta: {
+ keepAlive : true,
+ title: '人工发料记录(装配)',
+ icon: '成品发运任务',
+ }
+ }]
+ },
{
path: '/',
component: Layout,
diff --git a/fe/PC/src/utils/detailsTableColumns/index.js b/fe/PC/src/utils/detailsTableColumns/index.js
index c2ec7c55f..6d4d025e6 100644
--- a/fe/PC/src/utils/detailsTableColumns/index.js
+++ b/fe/PC/src/utils/detailsTableColumns/index.js
@@ -1760,6 +1760,7 @@ export const customerDismantleJob = [
{ label: "标包数量", prop: 'stdPackQty' },
{ label: "单位", prop: 'uom' },
{ label: "数量", prop: 'qty' },
+ { label: "已完成数量", prop: 'executedQty' },
{ label: "Bom版本", prop: 'bomVersion' },
{ label: "库位代码", prop: 'locationCode' },
{ label: "库区", prop:"locationArea" },
diff --git a/fe/PC/src/utils/tableColumns/index.js b/fe/PC/src/utils/tableColumns/index.js
index f1dd461e2..231a34854 100644
--- a/fe/PC/src/utils/tableColumns/index.js
+++ b/fe/PC/src/utils/tableColumns/index.js
@@ -2354,6 +2354,7 @@ export const customerDismantleJob = [
type: "name",
width: orderWidth
},
+ { label: "申请单号", prop: "requestNumber",width: orderWidth },
{ label: "状态", prop: "jobStatus", type: "tagFilter", filters: "jobStatus" },
{ label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "承接者用户名", prop: 'acceptUserName' },
@@ -4073,7 +4074,9 @@ export const Utensil = [
fixed: "left",
type: "name"
},
- { label: _Names.stdPackQty, prop: "stdQty",isNumber:true },
+ // { label: _Names.stdPackQty, prop: "stdQty",isNumber:true },
+ { label: "器具类型", prop: 'containerType',type:"filter",filters:"utensilType" },
+ { label: "器具规格", prop: "specificationsType",type: "filter", filters: "getDict" , dictType:"ContainerSpecificationsType"},
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
@@ -4105,8 +4108,8 @@ export const callEmptyUtensilJob = [
},
{ label: "状态", prop: "jobStatus",type: "tagFilter", filters: "jobStatus" },
{ label: "器具呼叫号码", prop: 'containerRequestNumber' },
- { label: "器具类型", prop: 'containerType' },
- { label: "器具规格", prop: 'specificationsType' },
+ { label: "器具类型", prop: 'containerType',type:"filter",filters:"utensilType" },
+ { label: "器具规格", prop: "specificationsType",type: "filter", filters: "getDict" , dictType:"ContainerSpecificationsType"},
{ label: "呼叫库位代码", prop: 'requestLocationCode' },
{ label: "任务类型", prop: "jobType", type: "filter", filters: "taskType" },
{ label: "任务描述", prop: 'jobDescription' },
diff --git a/fe/PC/src/utils/tabsDesTions/index.js b/fe/PC/src/utils/tabsDesTions/index.js
index d1521527a..032cf1c15 100644
--- a/fe/PC/src/utils/tabsDesTions/index.js
+++ b/fe/PC/src/utils/tabsDesTions/index.js
@@ -1699,6 +1699,7 @@ export const customerDismantleJob = [
fixed: "left",
type: "name",
},
+ { label: "申请单号", prop: "requestNumber" },
{ label: "状态", prop: "jobStatus", type: "tagFilter", filters: "jobStatus" },
{ label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "承接者用户名", prop: 'acceptUserName' },
@@ -2946,7 +2947,9 @@ export const PositionCode = [
// 器具
export const Utensil = [
{ label: '器具代码',prop: "code",},
- { label: _Names.stdPackQty, prop: "stdQty" },
+ // { label: _Names.stdPackQty, prop: "stdQty" },
+ { label: "器具类型", prop: 'containerType',type:"filter",filters:"utensilType" },
+ { label: "器具规格", prop: "specificationsType",type: "filter", filters: "getDict" , dictType:"ContainerSpecificationsType"},
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
@@ -2967,8 +2970,8 @@ export const callEmptyUtensilJob = [
{ label: "任务编号", prop: "number" },
{ label: "状态", prop: "status",type: "tagFilter", filters: "jobStatus" },
{ label: "器具呼叫号码", prop: 'containerRequestNumber' },
- { label: "器具类型", prop: 'containerType' },
- { label: "器具规格", prop: 'specificationsType' },
+ { label: "器具类型", prop: 'containerType',type:"filter",filters:"utensilType" },
+ { label: "器具规格", prop: "specificationsType",type: "filter", filters: "getDict" , dictType:"ContainerSpecificationsType"},
{ label: "呼叫库位代码", prop: 'requestLocationCode' },
{ label: "任务类型", prop: "jobType", type: "filter", filters: "taskType" },
{ label: "任务描述", prop: 'jobDescription' },
diff --git a/fe/PC/src/views/basicData/ItemsManage/Utensil.vue b/fe/PC/src/views/basicData/ItemsManage/Utensil.vue
index 4ffb94cd1..21de53db4 100644
--- a/fe/PC/src/views/basicData/ItemsManage/Utensil.vue
+++ b/fe/PC/src/views/basicData/ItemsManage/Utensil.vue
@@ -132,57 +132,47 @@ export default {
CreateFormData: {
code:null,
codeSuffix:null,
- type:"Q",
- stdQty:null,
+ prefixType:"Q",
creator: null,
remark:null,
+ model:null,
+ type:null,
},
//编辑
editFormData: {
code:null,
codeSuffix:null,
- type:"Q",
- stdQty:null,
+ prefixType:"Q",
remark:null,
creator: null,
- concurrencyStamp: ""
+ concurrencyStamp: "",
+ model:null,
+ type:null,
},
editOptions: {},
CreateForm: [
- { type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
- //todo:字段确定
- { type: "select", options: "ContainerSpecificationsType",label: "器具规格", prop: "size", colSpan: 12 },
- //todo:字段确定
- { type: "select",options: "utensilType", label: "器具类型", prop: "type2", colSpan: 12 },
- //todo:标包数量是否去掉
- { type: "inputNumber", label: "标包数量", prop: "stdQty", colSpan: 12, min:1 },
+ { type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"prefixType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
+ { type: "select", options: "ContainerSpecificationsType",label: "器具规格", prop: "model", colSpan: 12 },
+ { type: "select",options: "utensilType", label: "器具类型", prop: "type", colSpan: 12 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
editForm: [
- { disabled:true,type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
- //todo:字段确定
- { type: "select",options: "ContainerSpecificationsType", label: "器具规格", prop: "size", colSpan: 12 },
- //todo:字段确定
- { type: "select",options: "utensilType", label: "器具类型", prop: "type2", colSpan: 12 },
- //todo:标包数量是否去掉
- { type: "inputNumber", label: "标包数量", prop: "stdQty", colSpan: 12, min:1 },
+ { disabled:true,type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"prefixType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
+ { type: "select",options: "ContainerSpecificationsType", label: "器具规格", prop: "model", colSpan: 12 },
+ { type: "select",options: "utensilType", label: "器具类型", prop: "type", colSpan: 12 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
//todo:器具规格+器具类型
editRules: {
cerateRule: {
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
- stdQty: [
- { required: true, trigger: "blur", message: "不可为空" },
- ...detailsRules.numberInput
- ],
+ model: [{ required: true, trigger: "blur", message: "不可为空" }],
+ type: [{ required: true, trigger: "blur", message: "不可为空" }],
},
editRule: {
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
- stdQty: [
- { required: true, trigger: "blur", message: "不可为空" },
- ...detailsRules.numberInput
- ],
+ model: [{ required: true, trigger: "blur", message: "不可为空" }],
+ type: [{ required: true, trigger: "blur", message: "不可为空" }],
}
},
};
@@ -213,9 +203,9 @@ export default {
this.displayDialog.editDialog = true
// todo:编辑-拆分类型前缀和code码
- this.editFormData.type = "Q"
- this.editFormData.codeSuffix = (this.editFormData.type == 'Q') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
- // this.editFormData.type = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : "Q"
+ this.editFormData.prefixType = "Q"
+ this.editFormData.codeSuffix = (this.editFormData.prefixType == 'Q') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
+ // this.editFormData.prefixType = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : "Q"
// this.editFormData.codeSuffix = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null
console.log(210,this.editFormData)
}else{
@@ -225,10 +215,10 @@ export default {
FormSubmitHandle(val){
// todo:处理codeType + code拼接
if(this.formReveal){
- this.CreateFormData.code = this.CreateFormData.type + this.CreateFormData.codeSuffix
+ this.CreateFormData.code = this.CreateFormData.prefixType + this.CreateFormData.codeSuffix
this.CreateFormData.creator = store.getters.name.userName
}else{
- this.editFormData.code = this.editFormData.type + this.editFormData.codeSuffix
+ this.editFormData.code = this.editFormData.prefixType + this.editFormData.codeSuffix
this.editFormData.creator = store.getters.name.userName
}
this.$nextTick(()=>{
diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
index bac2cc481..1d45443b7 100644
--- a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
+++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
@@ -69,7 +69,7 @@ import {
getBomByComponentTree,
productRecycleNoteExport,
productionRecycleJobHandle,
- productionRecycleJobComplete
+ // productionRecycleJobComplete
} from "@/api/wms-api";
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
@@ -118,18 +118,18 @@ export default {
type: 'warning',
label: '执行',
name: "handle",
- // todo:什么状态可以执行,还是数量判断
- hide: () => { return this.hideButton([1]) },
- size: 'mini'
- },
- {
- type: 'success',
- label: '完成',
- name: "complete",
- // todo:什么状态可以执行,还是数量判断
- hide: () => { return this.hideButton([1]) },
+ // 待处理+执行中+部分完成
+ hide: () => { return this.hideButton([1,2,4]) },
size: 'mini'
},
+ // {
+ // type: 'success',
+ // label: '完成',
+ // name: "complete",
+ // // todo:什么状态可以执行,还是数量判断
+ // hide: () => { return this.hideButton([1]) },
+ // size: 'mini'
+ // },
],
//新增
CreateFormData: {
@@ -147,10 +147,10 @@ export default {
type: "number",
trigger: ["blur"],
validator: (rule, value, callback) => {
- //数量小于库存数 todo:添加部分完成情况,需要确定数量是否为recommendQty
- let _InventoryQty = Number(this.propsData.details[0].recommendQty)
+ //数量控制
+ let _InventoryQty = Number(this.propsData.details[0].qty) - Number(this.propsData.details[0].executedQty)
if(_InventoryQty < value){
- return callback(new Error(`数量不能大于库存数量${_InventoryQty}`))
+ return callback(new Error(`数量不能大于未完成数量${_InventoryQty}`))
}else{
callback()
}
@@ -197,10 +197,10 @@ export default {
// 执行
if (val == "handle") {
this.formTitle = this.$route.meta.title + "执行";
- this.displayDialog.newDialog = true
this.CreateFormData = JSON.parse(JSON.stringify(this.propsData));
- // todo:添加部分完成后的默认值确定
- this.CreateFormData.qty = this.propsData.details[0].recommendQty
+ // 默认值
+ let _qty = Number(this.propsData.details[0].qty) - Number(this.propsData.details[0].executedQty)
+ this.$set(this.CreateFormData, "qty", _qty)
this.childTableData = [{
partCode:undefined,
qty:undefined,
@@ -211,19 +211,20 @@ export default {
warehouseCode:undefined,
}]
this.theEvent = "edit"
+ this.displayDialog.newDialog = true
}
// 完成
- else if(val == "complete"){
- // todo:强制完成,更改wsm-api中productionRecycleJobComplete的值
- this.Loading.appMainLoading = true
- productionRecycleJobComplete(this.propsData.id).then(res => {
- this.Loading.appMainLoading = false
- this.paging()
- this.displayDialog.detailsDialog = false
- }).catch(err => {
- this.Loading.appMainLoading = false
- })
- }
+ // else if(val == "complete"){
+ // // todo:强制完成,更改wsm-api中productionRecycleJobComplete的值
+ // this.Loading.appMainLoading = true
+ // productionRecycleJobComplete(this.propsData.id).then(res => {
+ // this.Loading.appMainLoading = false
+ // this.paging()
+ // this.displayDialog.detailsDialog = false
+ // }).catch(err => {
+ // this.Loading.appMainLoading = false
+ // })
+ // }
else{
this.drawerbutton(val)
}
diff --git a/fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransaction-Query.vue b/fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransaction-Query.vue
index 61187ae5b..9b39c05c7 100644
--- a/fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransaction-Query.vue
+++ b/fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransaction-Query.vue
@@ -1,10 +1,10 @@
{
+ return null
+ }
+ },
+ // 特殊表头(用于发料明细中的查询库存事务)
+ userTableColumns: {
+ type: Array,
+ default: () => {
+ return null
+ }
+ },
+ // 特殊表高(用于发料明细中的查询库存事务)
+ userSetUTableHeight: {
+ type: Number,
+ default: null
+ },
+ // 特殊查询条件(用于发料明细中的查询库存事务)
+ userFilterSet:{
+ type:Function,
+ default:null,
+ }
+ },
mounted () {
this.paging();
},
@@ -113,6 +140,9 @@ export default {
this.PageListParams.condition.filters.push(_type35)
}
}
+ if(this.userFilterSet && this.userFilterSet()){
+ this.PageListParams.condition.filters.push(this.userFilterSet())
+ }
getPageList(this.PageListParams, this.URL).then(res => {
res.items.map(item => {
diff --git a/fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue b/fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue
index fef159d7c..437342642 100644
--- a/fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue
+++ b/fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue
@@ -54,7 +54,30 @@
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
- >
+ >
+
+
+
+ 查看库移
+
+
+
+
+
+
+
+
\ No newline at end of file