Browse Source

【埃驰pc】nev暂存

ag_report_nev
安虹睿 1 year ago
parent
commit
908cfb8129
  1. 3
      fe/PC/src/api/wms-api.js
  2. 12
      fe/PC/src/api/wms-core.js
  3. 43
      fe/PC/src/components/currenTable/index.vue
  4. 20
      fe/PC/src/components/currenTableFlex/index.vue
  5. 12
      fe/PC/src/filters/status.js
  6. 2
      fe/PC/src/mixins/TableMixins.js
  7. 8
      fe/PC/src/router/index.js
  8. 26
      fe/PC/src/utils/tableColumns/index.js
  9. 27
      fe/PC/src/utils/tabsDesTions/index.js
  10. 107
      fe/PC/src/views/basicData/ItemsManage/PositionCode.vue
  11. 197
      fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
  12. 28
      fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList.vue
  13. 190
      fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue
  14. 13
      fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

3
fe/PC/src/api/wms-api.js

@ -61,8 +61,9 @@ export function postDelete(id, url) {
// }) // })
// } // }
//分页+筛选 //分页+筛选
export function getPageList(data, url, includeDetails) { export function getPageList(data, url, includeDetails,specialUrl) {
let _url = includeDetails ? baseURL + url + '/list?includeDetails='+ includeDetails : baseURL + url + '/list' let _url = includeDetails ? baseURL + url + '/list?includeDetails='+ includeDetails : baseURL + url + '/list'
if(specialUrl) _url = baseURL + specialUrl
return request({ return request({
url: _url, url: _url,
method: 'post', method: 'post',

12
fe/PC/src/api/wms-core.js

@ -40,12 +40,22 @@ export function postInventoryLabelCode_count(params,data) {
// 拆箱 | 标签管理-拆分箱标签 // 拆箱 | 标签管理-拆分箱标签
export function postSplitPacking(data) { export function postSplitPacking(data) {
return request({ return request({
url: baseURL + 'wms/store/transfer-note/split-packing', url: baseURL + 'wms/store/transfer-note/split-packing-inspect',
method: 'post', method: 'post',
data data
}) })
} }
// 报检单-质检-拆箱
export function postSplitPackingInspect(params,data) {
return request({
url: baseURL + 'wms/store/transfer-note/split-packing-inspect',
method: 'post',
params:params,
data
})
}
// 拆箱记录列表 // 拆箱记录列表
export function splitPackingList(data) { export function splitPackingList(data) {
return request({ return request({

43
fe/PC/src/components/currenTable/index.vue

@ -15,10 +15,12 @@
style="width: 100%" style="width: 100%"
:tree-props="treeProps" :tree-props="treeProps"
:cell-style="cellStyle" :cell-style="cellStyle"
:key="isUpdate"
> >
<el-table-column v-if="selectionTable" fixed="left" type="selection" /> <el-table-column v-if="selectionTable" fixed="left" type="selection" />
<el-table-column v-if="isShowIndex" type="index" fixed="left" label="序号" width="50" /> <el-table-column v-if="isShowIndex" type="index" fixed="left" label="序号" width="50" />
<el-table-column <el-table-column
v-if="item.istrue==null?true:item.istrue"
v-for="(item, index) in TableSize" v-for="(item, index) in TableSize"
:key="index" :key="index"
:prop="item.showProp ? item.prop + '.' + item.showProp : item.prop" :prop="item.showProp ? item.prop + '.' + item.showProp : item.prop"
@ -33,6 +35,8 @@
<i style="color: #f56c6c" v-if="item.rules && requiredRules">*</i> <i style="color: #f56c6c" v-if="item.rules && requiredRules">*</i>
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 目的更新数据 -->
<div style="display:none">{{ TableSize }}</div>
<el-form> <el-form>
<el-form-item <el-form-item
v-if="item.type == 'input'" v-if="item.type == 'input'"
@ -94,10 +98,12 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<!-- 下拉框 --> <!-- 下拉框 -->
<!-- {{item.loading}} -->
<el-select <el-select
@visible-change='(data)=>{updateSelectListTable(data,item,scope)}'
v-if="item.type === 'select'" v-if="item.type === 'select'"
v-model="scope.row[item.prop]" v-model="scope.row[item.prop]"
:loading="selectLoading" :loading="item.loading || selectLoading"
:clearable="item.clearable" :clearable="item.clearable"
:multiple="item.multiple" :multiple="item.multiple"
:disabled="Boolean(item.disabled) || Boolean(scope.row['disabled'])" :disabled="Boolean(item.disabled) || Boolean(scope.row['disabled'])"
@ -105,9 +111,11 @@
:allow-create="item.allowCreate" :allow-create="item.allowCreate"
style="width: 100%" style="width: 100%"
:placeholder="'请输入' + item.label" :placeholder="'请输入' + item.label"
> @change="changeSelect(item.prop,$event,item,scope.row,scope)"
@clear="filterClearHandle(item,scope)"
>
<el-option <el-option
v-for="(op, index) in selectOptions(item.options) || v-for="(op, index) in item.userOptions || selectOptions(item.options) ||
searchOptions['options']" searchOptions['options']"
:label="op[item.optionsLabel] || op.label" :label="op[item.optionsLabel] || op.label"
:value="op[item.optionsValue] || op.value" :value="op[item.optionsValue] || op.value"
@ -334,6 +342,13 @@ export default {
}, },
}, },
props: { props: {
// table key
isUpdate: {
type: Boolean,
default: () => {
return false
}
},
propsData: { propsData: {
type: Object, type: Object,
default: () => { default: () => {
@ -411,7 +426,9 @@ export default {
}; };
}, },
TableSize(){ TableSize(){
return this.tableColumnsFilter() console.log('computed',this.tableColumnsFilter())
this.$forceUpdate()
return this.tableColumnsFilter()
} }
}, },
watch: { watch: {
@ -423,6 +440,18 @@ export default {
}); });
}, },
immediate: false, immediate: false,
},
//
tableColumns:{
handler(val, oldVal) {
this.$nextTick(()=>{
console.log('watch',val)
this.$forceUpdate()
this.$refs.multipleTable.doLayout();
})
},
deep: true,
immediate: false,
} }
}, },
activated() { activated() {
@ -691,6 +720,12 @@ export default {
arr.push(label); arr.push(label);
return this.getMaxLength(arr) + 60 + "px"; return this.getMaxLength(arr) + 60 + "px";
}, },
changeSelect(prop, val,item,searchData,scope) {
this.$emit("changeSelect", prop, val,item,searchData,scope)
},
updateSelectListTable(data,item,scope){
this.$emit("updateSelectListTable", data, item,scope,this.tableData)
},
// //
sortChange(data) { sortChange(data) {
this.$emit("sortChange", data); this.$emit("sortChange", data);

20
fe/PC/src/components/currenTableFlex/index.vue

@ -19,6 +19,10 @@
:selectionTable="selectionTable" :selectionTable="selectionTable"
:isShowIndex="isShowIndex" :isShowIndex="isShowIndex"
@push="detailsDataPush(arguments)" @push="detailsDataPush(arguments)"
@updateSelectListTable='updateSelectListTable'
:isUpdate="isUpdate"
@changeSelect="changeSelect"
@clear="clearHandle"
> >
<template v-if="showAllDeleteButton"> <template v-if="showAllDeleteButton">
<el-table-column <el-table-column
@ -85,6 +89,13 @@ export default {
// } // }
}, },
props: { props: {
// table key
isUpdate: {
type: Boolean,
default: () => {
return false
}
},
// //
showAddBtn:{ showAddBtn:{
type: Boolean, type: Boolean,
@ -301,6 +312,15 @@ export default {
detailsDataPush (val) { detailsDataPush (val) {
this.$emit("detailsDataPush", val) this.$emit("detailsDataPush", val)
}, },
updateSelectListTable(data,item,scope,tableData){
this.$emit("updateSelectListTable", data,item,scope,tableData)
},
changeSelect(prop, val,item,searchData,scope) {
this.$emit("changeSelect", prop, val,item,searchData,scope)
},
clearHandle(item,scope){
this.$emit("clearHandle",item,scope)
},
} }
} }
</script> </script>

12
fe/PC/src/filters/status.js

@ -2426,16 +2426,16 @@ export function unplannedReceiptType(index, prop) {
// 位置码类型--判断前缀 // 位置码类型--判断前缀
export function positionCodeType(index, prop) { export function positionCodeType(index, prop) {
let type = { let type = {
"W": { 1: {
value: "W", value: 1,
label: "原料" label: "原料"
}, },
"Q": { 2: {
value: "Q", value: 2,
label: "器具" label: "器具"
}, },
"K": { 3: {
value: "K", value: 3,
label: "Kitting区" label: "Kitting区"
} }
} }

2
fe/PC/src/mixins/TableMixins.js

@ -76,7 +76,7 @@ export const tableMixins = {
this.initPagingHeaderBtn() this.initPagingHeaderBtn()
this.Loading.tableLoading = true; this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount, this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageList(this.PageListParams, this.URL).then(res => { getPageList(this.PageListParams, this.URL,false,this.listURL).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.pagingCallback(callback) this.pagingCallback(callback)

8
fe/PC/src/router/index.js

@ -164,12 +164,12 @@ export const constantRoutes = [
redirect: '/gridlayout', redirect: '/gridlayout',
hidden: true, hidden: true,
children: [{ children: [{
path: 'materialsAdjustmentFunc', path: 'customerDismantleJob',
component: () => import('@/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue'), component: () => import('@/views/finishedProductManage/dismantle/customerDismantleJob.vue'),
name: 'materialsAdjustmentFunc', name: 'customerDismantleJob',
meta: { meta: {
keepAlive : true, keepAlive : true,
title: '回收料功能页面', title: '客户退拆任务',
icon: '系统首页', icon: '系统首页',
} }
}] }]

26
fe/PC/src/utils/tableColumns/index.js

@ -2284,6 +2284,30 @@ export const customerDismantle = [
// { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" }, // { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" },
// ************** 确认隐藏 ************************ // ************** 确认隐藏 ************************
] ]
// 客户退拆任务 20230415
export const customerDismantleJob = [
{
label: "退拆记录单号",
prop: "number",
fixed: "left",
type: "name",
width: orderWidth
},
{ label: "班次", prop: 'shift' },
{ label: "车间", prop: 'workshop' },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" },
{ label: "生效时间", prop: "activeDate",type: "dateTime" },
{ label: "操作员", prop: "worker" },
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', width:orderWidth },
// ************** 确认隐藏 ************************
// { label: "创建者ID", prop: 'creatorId' },
// { label: "上次修改者ID", prop: "lastModifierId" },
// { label: "事务ID", prop: "tenantId" },
// ************** 确认隐藏 ************************
]
// 客户退拆记录 20230415 // 客户退拆记录 20230415
export const customerDismantleNote = [ export const customerDismantleNote = [
{ {
@ -3958,7 +3982,7 @@ export const PositionCode = [
// 器具 // 器具
export const Utensil = [ export const Utensil = [
{ {
label: '器具', label: '器具代码',
prop: "code", prop: "code",
fixed: "left", fixed: "left",
type: "name" type: "name"

27
fe/PC/src/utils/tabsDesTions/index.js

@ -1637,6 +1637,29 @@ export const customerDismantle = [
// { label: "ID", prop: 'id' }, // { label: "ID", prop: 'id' },
// ************** 确认隐藏 ************************ // ************** 确认隐藏 ************************
] ]
// 客户退拆任务 20230415
export const customerDismantleJob = [
{
label: "退拆记录单号",
prop: "number",
fixed: "left",
type: "name",
},
{ label: "班次", prop: 'shift' },
{ label: "车间", prop: 'workshop' },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" },
{ label: "生效时间", prop: "activeDate",type: "dateTime" },
{ label: "操作员", prop: "worker" },
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', },
// ************** 确认隐藏 ************************
// { label: "创建者ID", prop: 'creatorId' },
// { label: "上次修改者ID", prop: "lastModifierId" },
// { label: "事务ID", prop: "tenantId" },
// ************** 确认隐藏 ************************
]
// 客户退拆记录 20230415 // 客户退拆记录 20230415
export const customerDismantleNote = [ export const customerDismantleNote = [
{ label: "退拆记录单号", prop: "number" }, { label: "退拆记录单号", prop: "number" },
@ -2829,11 +2852,13 @@ export const PositionCode = [
fixed: "left", fixed: "left",
type: "name" type: "name"
}, },
{ label: "位置码类型", prop: 'type', type: "filter", filters: "positionCodeType" },
{ label: _Names.itemCode, prop: "partCode" }, { label: _Names.itemCode, prop: "partCode" },
{ label: _Names.itemName, prop: "partName" }, { label: _Names.itemName, prop: "partName" },
{ label: _Names.itemDesc1, prop: "partDesc" }, { label: _Names.itemDesc1, prop: "partDesc" },
// { label: _Names.itemDesc2, prop: "desc2" }, // { label: _Names.itemDesc2, prop: "desc2" },
{ label: _Names.basicUom, prop: "basicUom" }, { label: _Names.basicUom, prop: "basicUom" },
{ label: _Names.stdPackQty, prop: "stdPackQty" },
{ label: _Names.locationCode, prop: "locationCode" }, { label: _Names.locationCode, prop: "locationCode" },
{ label: _Names.locationName, prop: "locationName" }, { label: _Names.locationName, prop: "locationName" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" }, { label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
@ -2843,7 +2868,7 @@ export const PositionCode = [
// 器具 // 器具
export const Utensil = [ export const Utensil = [
{ label: '器具',prop: "code",}, { label: '器具代码',prop: "code",},
{ label: _Names.stdPackQty, prop: "stdQty" }, { label: _Names.stdPackQty, prop: "stdQty" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" }, { label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" }, { label: '创建人', prop: "creator" },

107
fe/PC/src/views/basicData/ItemsManage/PositionCode.vue

@ -39,6 +39,8 @@
:Handle="editHandle" :Handle="editHandle"
:Rules="formReveal ? editRules.cerateRule : editRules.editRule" :Rules="formReveal ? editRules.cerateRule : editRules.editRule"
@push="addNewDataPush" @push="addNewDataPush"
@clear="addNewDataClear"
@changeSelect="changeSelect"
@FormSubmit="FormSubmitHandle" @FormSubmit="FormSubmitHandle"
@close="FormClose" @close="FormClose"
@goBack="goBack" @goBack="goBack"
@ -131,6 +133,7 @@ export default {
code:null, code:null,
codeSuffix:null, codeSuffix:null,
type:null, type:null,
codeType:null,
basicUom:null, basicUom:null,
stdPackQty:null, stdPackQty:null,
partCode:null, partCode:null,
@ -138,14 +141,13 @@ export default {
partDesc:null, partDesc:null,
locationCode:null, locationCode:null,
locationName:null, locationName:null,
tenantId:null,
extraProperties: {},
}, },
// //
editFormData: { editFormData: {
code:null, code:null,
codeSuffix:null, codeSuffix:null,
type:null, type:null,
codeType:null,
basicUom:null, basicUom:null,
stdPackQty:null, stdPackQty:null,
partCode:null, partCode:null,
@ -158,7 +160,7 @@ export default {
editOptions: {}, editOptions: {},
CreateForm: [ CreateForm: [
{ type: "select", label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' }, { type: "select", label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 }, { type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 }, { type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
@ -169,7 +171,7 @@ export default {
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 }, { type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 }, { type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",this.isFilterLocation(this.CreateFormData.codeType))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData) }, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData) },
colSpan: 12 colSpan: 12
}, },
@ -178,7 +180,7 @@ export default {
], ],
editForm: [ editForm: [
{ type: "select",disabled:true, label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' }, { type: "select",disabled:true, label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ disabled:true,type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 }, { disabled:true,type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 }, { type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
@ -189,7 +191,7 @@ export default {
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 }, { type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 }, { type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",this.isFilterLocation(this.editFormData.codeType))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) }, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) },
colSpan: 12 colSpan: 12
}, },
@ -239,6 +241,87 @@ export default {
} }
} }
}, },
addNewDataClear(val){
console.log(245,val)
if(val[0].prop == "partCode"){
if(this.formReveal){
this.CreateFormData.partName = null
this.CreateFormData.partDesc = null
this.CreateFormData.basicUom = null
this.CreateFormData.extraProperties = null
}else{
this.editFormData.partName = null
this.editFormData.partDesc = null
this.editFormData.basicUom = null
this.editFormData.extraProperties = null
}
}
else if(val[0].prop == "locationCode"){
if(this.formReveal){
this.CreateFormData.locationName = null
}else{
this.editFormData.locationName = null
}
}
},
//
isFilterLocation (type) {
let filter = []
if(type == "W"){
filter = [
{
logic: "And",
column: 'type',
action: "==",
value: "2"
}
]
}
return filter
},
initCodeType(val){
if(this.formReveal){
switch (val) {
case 1:
this.CreateFormData.codeType = 'W'
break;
case 2:
this.CreateFormData.codeType = 'Q'
break;
case 3:
this.CreateFormData.codeType = 'K'
break;
default:
this.CreateFormData.codeType = ''
break;
}
}else{
switch (val) {
case 1:
this.editFormData.codeType = 'W'
break;
case 2:
this.editFormData.codeType = 'Q'
break;
case 3:
this.editFormData.codeType = 'K'
break;
default:
this.editFormData.codeType = ''
break;
}
}
},
changeSelect(prop,val){
if(prop == 'type'){
this.initCodeType(val)
if(this.formReveal){
this.CreateFormData.locationCode = null
}else{
this.editFormData.locationCode = null
}
}
},
drawerbuttonHandle(val){ drawerbuttonHandle(val){
if(val == "edit"){ if(val == "edit"){
this.formTitle = this.$route.meta.title + "编辑"; this.formTitle = this.$route.meta.title + "编辑";
@ -258,9 +341,11 @@ export default {
this.displayDialog.editDialog = true this.displayDialog.editDialog = true
// todo:-code // todo:-code
this.initCodeType(this.editFormData.type)
console.log([1,2,3].indexOf(this.editFormData.type))
// this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : null) // this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : null)
this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : null // this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : null
this.editFormData.codeSuffix = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code this.editFormData.codeSuffix = [1,2,3].indexOf(this.editFormData.type) >= 0 ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
}else{ }else{
this.drawerbutton(val) this.drawerbutton(val)
} }
@ -268,11 +353,9 @@ export default {
FormSubmitHandle(val){ FormSubmitHandle(val){
// todo:codeType + code // todo:codeType + code
if(this.formReveal){ if(this.formReveal){
this.CreateFormData.code = this.CreateFormData.type + this.CreateFormData.codeSuffix this.CreateFormData.code = this.CreateFormData.codeType + this.CreateFormData.codeSuffix
delete this.CreateFormData.codeSuffix
}else{ }else{
this.editFormData.code = this.editFormData.type + this.editFormData.codeSuffix this.editFormData.code = this.editFormData.codeType + this.editFormData.codeSuffix
delete this.editFormData.codeSuffix
} }
this.$nextTick(()=>{ this.$nextTick(()=>{
this.FormSubmit(val) this.FormSubmit(val)

197
fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue

@ -0,0 +1,197 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="[]"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
:dropdownTabsData="dropdownTabsData"
:firstTabs="firstTabs"
></curren-Drawer>
<!--编辑-->
<StepsFormNotView
:formTitle="formTitle"
:displayDialog="displayDialog"
:CreateFormData="CreateFormData"
:CreateForm="CreateForm"
:Rules="editRules.cerateRule"
:Options="editOptions"
:detailsTableColumns="AddDetailsTableColumns"
:childTableData="childTableData"
@close="stepsClose(arguments)"
@detailsDataPush="detailsDataPush"
@detailsClear="detailsClear"
></StepsFormNotView>
</div>
</template>
<script>
import { getDetailed, getPageList } from "@/api/wms-api";
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
export default {
name: "customerDismantleJob",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
data () {
return {
URL: 'wms/store/product-recycle-note',
detailURL: 'wms/store/product-recycle-note/note-and-back-flush',
//
currenButtonData: [
//
this.defaultExportBtn({
url:"wms/store/product-recycle-note/export-note-and-back-flush"
}),
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
// table
dropdownTabsData: [
{
label: "详情",
name: 'xq'
},
{
label: "明细",
name: 'hcjl',
tableColumns: 'customerDismantleBackFlushNote',//tableColumns/index.js
functionName: 'customerDismantleBackFlushNote'//wms-api.js
},
],
//
CreateFormData: {
qty:null,
details:[]
},
CreateForm: [
{ type: "inputNumber", label: "数量", prop: "qty",colSpan: 12,min:1 },
],
editRules: {
cerateRule: {
qty: [{ required: true, trigger: "blur", message: "不可为空" }],
},
},
AddDetailsTableColumns: [
{ label: "物料代码", prop: "partCode",width:"auto" },
{ label: "数量", prop: 'qty',width:"auto" },//todo:
{ type: "filterSelect", label: "库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location",this.isFilter("type", "5"))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '库位选择', this.CreateFormData) },
width:"auto", searchButton:false
},
],
childTableData:[{
partCode:undefined,
qty:undefined,
locationCode:undefined
}],
};
},
mounted () {
this.paging();
},
methods: {//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageList(this.PageListParams, this.URL,true)
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.tableData.forEach(item=>{
item.itemCode = item.noteAndBackFlushDetails[0].itemCode
item.locationCode = item.noteAndBackFlushDetails[0].locationCode
item.qty = item.noteAndBackFlushDetails[0].qty
item.rawLocationCode = item.noteAndBackFlushDetails[0].rawLocationCode
item.preStartTime = item.noteAndBackFlushDetails[0].preStartTime
item.workHour = item.noteAndBackFlushDetails[0].workHour
})
this.pagingCallback(callback)
})
.catch(err => {
this.Loading.tableLoading = false
})
},
//Table
inlineDialog(val) {
this.firstTabs = 'xq'
//
this.Loading.DrawerLoading = true
this.displayDialog.detailsDialog = true;
getDetailed(val.id, 'wms/store/product-recycle-note/note-and-back-flush')
.then(res => {
if (res.details) {
//
this.tableDataDetails = JSON.parse(JSON.stringify(res))
let linshiTableDataDetails = JSON.parse(JSON.stringify(this.tableDataDetails))
this.totalCountDetails = res.details.length
//
linshiTableDataDetails.details.splice(this.MaxResultCountDetails,this.totalCountDetails);
this.propsData = linshiTableDataDetails
} else {
this.propsData = res
}
if (this.propsData.noteAndBackFlushDetails.length > 0) {
this.propsData.itemCode = this.propsData.noteAndBackFlushDetails[0].itemCode
this.propsData.locationCode = this.propsData.noteAndBackFlushDetails[0].locationCode
this.propsData.qty = this.propsData.noteAndBackFlushDetails[0].qty
this.propsData.rawLocationCode = this.propsData.noteAndBackFlushDetails[0].rawLocationCode
this.propsData.preStartTime = this.propsData.noteAndBackFlushDetails[0].preStartTime
this.propsData.workHour = this.propsData.noteAndBackFlushDetails[0].workHour
}
this.inlineDialogCallback()
})
.catch(err => {
this.Loading.DrawerLoading = false
})
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

28
fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList.vue

@ -85,6 +85,8 @@
data () { data () {
return { return {
URL: 'wms/store/transfer-note/get-split-packing-list', URL: 'wms/store/transfer-note/get-split-packing-list',
// listURL:'basedata/split-packing-rec/get-all?includeDetails=false',
listURL:'wms/store/transfer-note/split-packing-inspect?includeDetails=true',
// //
currenButtonData: [ currenButtonData: [
// this.defaultImportBtn(),// // this.defaultImportBtn(),//
@ -100,19 +102,19 @@
}, },
methods:{ methods:{
// //
paging(callback) { // paging(callback) {
this.Loading.tableLoading = true; // this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount, // this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-split-packing-list?includeDetails=true') // getPageListWip(this.PageListParams, 'wms/store/transfer-note/split-packing-inspect?includeDetails=true')
.then(res => { // .then(res => {
this.tableData = res.items // this.tableData = res.items
this.totalCount = res.totalCount // this.totalCount = res.totalCount
this.pagingCallback(callback) // this.pagingCallback(callback)
}) // })
.catch(err => { // .catch(err => {
this.Loading.tableLoading = false // this.Loading.tableLoading = false
}) // })
}, // },
// //
inlineDialog(val) { inlineDialog(val) {
// //

190
fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="page-box recycledAdjustmentPage" v-loading="Loading.appMainLoading"> <div class="page-box recycledAdjustmentPage" v-loading="Loading.appMainLoading">
<tablePagination <!-- <tablePagination
:currenButtonData="currenButtonData" :currenButtonData="currenButtonData"
:tableData="tableData" :tableData="tableData"
:tableLoading="Loading.tableLoading" :tableLoading="Loading.tableLoading"
@ -23,10 +23,10 @@
@overallSearchFormClick="overallSearchFormClick" @overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData" :httpOverallSearchData="httpOverallSearchData"
> >
</tablePagination> </tablePagination> -->
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用--> <!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 --> <!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile <!-- <importFile
:loading="Loading.importLoading" :loading="Loading.importLoading"
:show="displayDialog.importDialog" :show="displayDialog.importDialog"
:URL="URL" :URL="URL"
@ -35,8 +35,8 @@
isAllowPartImportValue="1" isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)" @importClick="postImportMergeClick(arguments)"
@postImportDown="importDown" @postImportDown="importDown"
></importFile> ></importFile> -->
<curren-Drawer <!-- <curren-Drawer
:title="tableColumns" :title="tableColumns"
:DrawerLoading="Loading.DrawerLoading" :DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog" :drawer="displayDialog.detailsDialog"
@ -51,7 +51,7 @@
:MaxResultCount="MaxResultCountDetails" :MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails" @alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails" @alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer> ></curren-Drawer> -->
<!-- 新增弹窗 --> <!-- 新增弹窗 -->
<el-dialog <el-dialog
:visible="addPopShow" :visible="addPopShow"
@ -72,10 +72,14 @@
<div class="addPopContent addPopContent_YL"> <div class="addPopContent addPopContent_YL">
<span class="addPopTypeTitle">原料</span> <span class="addPopTypeTitle">原料</span>
<currenTableFlex <currenTableFlex
:isUpdate="isUpdate"
:flexTableData="addPopData_YL" :flexTableData="addPopData_YL"
:flexSearchOptions="editOptions" :flexSearchOptions="editOptions"
:flexTableColumns="addPopColumns_YL" :flexTableColumns="addPopColumns_YL"
@detailsDataPush="pushYL" @detailsDataPush="pushYL"
@updateSelectListTable="updateSelectListTable"
@changeSelect="changeSelect"
@clearHandle="clearHandle"
></currenTableFlex> ></currenTableFlex>
</div> </div>
<div class="addPopContent addPopContent_HB"> <div class="addPopContent addPopContent_HB">
@ -106,8 +110,10 @@ import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData" import { requestData } from "@/utils/processButtonData"
import currenTableFlex from "@/components/currenTableFlex" import currenTableFlex from "@/components/currenTableFlex"
import { filterSelectMixins } from '@/mixins/filter-Select' import { filterSelectMixins } from '@/mixins/filter-Select'
import detailsRules from '@/utils/rules';
import { getPageList } from "@/api/wms-api"
export default { export default {
name: "recycledMaterialsAdjustmentApply", name: "materialsAdjustmentFunc",
mixins: [ mixins: [
tableMixins, tableMixins,
LoadingMixins, LoadingMixins,
@ -119,8 +125,19 @@ export default {
components:{ components:{
currenTableFlex currenTableFlex
}, },
watch: {
'packingsYL_Options':{
handler(val) {
console.log(128,val)
this.addPopColumns_YL[1].userOptions = val;
},
deep: true,
immediate: true,
},
},
data () { data () {
return { return {
isUpdate:false,
URL: 'wms/store/item-transform-request', URL: 'wms/store/item-transform-request',
// //
currenButtonData: [ currenButtonData: [
@ -141,7 +158,7 @@ export default {
// //
addPopColumns_FS:[ addPopColumns_FS:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},//this.isFilter("isRecycled","true")
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.addPopData_HB) }, searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.addPopData_HB) },
width:"auto", searchButton:false width:"auto", searchButton:false
}, },
@ -155,22 +172,41 @@ export default {
// //
addPopData_YL:[{ addPopData_YL:[{
itemCode:null, itemCode:null,
packingCode:null,
inventoryQty:null, inventoryQty:null,
location:null, locationCode:null,
qty:null qty:null
}], }],
packingsYL_Options:[],
itemPackings_YL:{},
// //
addPopColumns_YL:[ addPopColumns_YL:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic",this.isFilter("type", "10C02"))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.addPopData_HB) }, width:"auto"
width:"auto", searchButton:false },
// { type: "filterSelect", label: "", prop: "packingCode",
// // optionsLabel: "itemCode", optionsValue: "packingCode",
// focus: (type,val) => { return this.getFilterList(type, val, "wms/inventory/Inventory-Balance")},
// colSpan: 12
// },
{ type: "select", label: "箱码", prop: "packingCode",
optionsLabel: "packingCode", optionsValue: "packingCode",
userOptions:this.packingsYL_Options,width:"auto"
}, },
// todo: // todo:
{ label: "库存数量", prop: "inventoryQty", width:"auto" }, { label: "库存数量", prop: "inventoryQty", width:"auto" },
{ label: "库位", prop: "location", width:"auto" }, { label: "库位", prop: "locationCode", width:"auto" },
// todo: // todo:
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto" }, { type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto",
// rules: [{
// type: "number",
// trigger: "blur",
// validator: (rule, value, callback) => {
// console.log(7,rule,value)
// }
// }]
},
], ],
// //
addPopData_HB:[{ addPopData_HB:[{
@ -195,7 +231,7 @@ export default {
}; };
}, },
mounted () { mounted () {
this.paging(); // this.paging();
}, },
methods:{ methods:{
// //
@ -230,7 +266,7 @@ export default {
this.addPopData_YL=[{ this.addPopData_YL=[{
itemCode:null, itemCode:null,
inventoryQty:null, inventoryQty:null,
location:null, locationCode:null,
qty:null qty:null
}] }]
this.addPopData_HB=[{ this.addPopData_HB=[{
@ -243,9 +279,12 @@ export default {
}); });
}, },
addPopSureHandle(){ addPopSureHandle(){
console.log(this.addPopData_FS) this.addPopData_YL.forEach(item=>{
console.log(this.addPopData_YL) console.log(item)
console.log(this.addPopData_HB) })
// console.log(this.addPopData_FS)
// console.log(this.addPopData_YL)
// console.log(this.addPopData_HB)
}, },
// //
pushFS(data){ pushFS(data){
@ -254,6 +293,119 @@ export default {
// //
pushYL(data){ pushYL(data){
console.log(data) console.log(data)
if(data[1].prop="itemCode"){
let params = {
Sorting: "",
MaxResultCount: 1000,
SkipCount: 0,
condition: {
filters: [{
logic: "And",
column: "itemCode",
action: "==",
value: data[0].code
}]
}
}
this.Loading.appMainLoading = true
// todo:+
console.log(311,data[3].$index)
this.addPopData_YL[data[3].$index].packingCode = null
this.addPopData_YL[data[3].$index].inventoryQty = null
this.addPopData_YL[data[3].$index].locationCode = null
this.isUpdate = !this.isUpdate
getPageList(params, "wms/inventory/inventory-balance").then((res)=>{
this.itemPackings_YL[data[0].code] = res.items
this.isUpdate = !this.isUpdate
// this.$set(this.addPopColumns_YL[1], 'loading', false)
// this.packingsYL_Options = []
// this.packingsYL_Options.push({packingCode:1111})
// this.addPopColumns_YL[1].userOptions.push({packingCode:222})
// this.$set(this.addPopColumns_YL, 1, { type: "select", label: "", prop: "packingCode",
// // optionsLabel: "packingCode", optionsValue: "packingCode",
// userOptions:[{label:1111,value:1111}],width:"auto",loading:false
// })
// this.$forceUpdate()
// // this.packingsYL_Options = this.itemPackings_YL[data[0].code]
// console.log(111)
// this.packingsYL_Options = [{label:1111,value:1111}]
// this.addPopColumns_YL[1].userOptions = [{label:1111,value:1111}]
this.Loading.appMainLoading = false
// this.$forceUpdate()
// console.log(11111111,this.addPopColumns_YL[1])
})
.catch(err=>{
// console.log(2222)
this.Loading.appMainLoading = false
})
}
},
changeSelect(prop, val,item,searchData,scope){
console.log(341,prop, val,item,searchData,scope)
if(prop == 'packingCode'){
let _currentRow = this.itemPackings_YL[searchData.itemCode].filter(item=>{
return val == item.packingCode
})
console.log(347,_currentRow)
// todo:
this.addPopData_YL[scope.$index].inventoryQty = _currentRow[0].qty
this.addPopData_YL[scope.$index].locationCode = _currentRow[0].locationCode
}
},
clearHandle(item,scope){
// todo:
this.addPopData_YL[scope.$index].packingCode = null
this.addPopData_YL[scope.$index].inventoryQty = null
this.addPopData_YL[scope.$index].locationCode = null
},
updateSelectListTable(data,item,scope,tableData){
// if(!data){ return }
// if(item.prop == "packingCode"){
// this.packingsYL_Options = this.itemPackings_YL[tableData[scope.$index].itemCode]
// console.log(318,this.itemPackings_YL)
// console.log(326,this.addPopColumns_YL[1])
// }
//
if(data){
if(item.prop == "packingCode"){
this.packingsYL_Options = []
if(!tableData[scope.$index].itemCode || tableData[scope.$index].itemCode.length == 0){
this.$warningMsg("请先选择物料")
}
// console.log(tableData[scope.$index].itemCode)
if(this.itemPackings_YL[tableData[scope.$index].itemCode]){
this.packingsYL_Options = this.itemPackings_YL[tableData[scope.$index].itemCode]
}
// this.isUpdate = !this.isUpdate
// let params = {
// Sorting: "",
// MaxResultCount: 1000,
// SkipCount: 0,
// condition: {
// filters: [{
// logic: "And",
// column: "itemCode",
// action: "==",
// value: tableData[scope.$index].itemCode
// }]
// }
// }
// this.addPopColumns_YL[1].userOptions = [{packingCode:222}]
// getPageList(params, "wms/inventory/inventory-balance")
// .then(res=>{
// console.log(11111111111111111111)
// // this.packingsYL_Options = res.items
// this.addPopColumns_YL[1].userOptions = [{packingCode:111}]
// // this.$forceUpdate()
// })
// .catch(err=>{
// })
}
}
else{
// this.addPopColumns_YL[1].userOptions = []
}
}, },
// //
pushHB(data){ pushHB(data){

13
fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

@ -267,7 +267,7 @@ import {
getFilestore, getFilestore,
InspectSplitPackingk InspectSplitPackingk
} from "@/api/wms-api" } from "@/api/wms-api"
import { postSplitPacking,postInventoryLabelCode_count } from "@/api/wms-core" import { postSplitPackingInspect,postInventoryLabelCode_count } from "@/api/wms-core"
import { completeSummaryDetailStatus, setDetailDefaultOkStatus, setDetailOkStatus, setDetailNookStatus } from "@/api/wms-job" import { completeSummaryDetailStatus, setDetailDefaultOkStatus, setDetailOkStatus, setDetailNookStatus } from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -1139,6 +1139,13 @@ export default {
// //
postSplitPackingHandle(newPackData){ postSplitPackingHandle(newPackData){
this.devanLoading = true this.devanLoading = true
let _params = {
number:this.propsData.number,
fromPackingCode:this.devanCurrentRow.packingCode,
fromQty:this.devanCurrentRow.receiveQty,
toPackingCode:newPackData[0].code,
toQty:Number(this.devanForm.qty)
}
let _data = { let _data = {
useOnTheWayLocation: false, useOnTheWayLocation: false,
requestNumber: null, requestNumber: null,
@ -1185,7 +1192,7 @@ export default {
}], }],
type: "SplitPacking" type: "SplitPacking"
} }
postSplitPacking(_data) postSplitPackingInspect(_params,_data)
.then(res=>{ .then(res=>{
// todo: // todo:
this.devanCancelHandel() this.devanCancelHandel()
@ -1205,7 +1212,7 @@ export default {
}) })
}) })
.catch(err=>{ .catch(err=>{
this.devanLoading = false
}) })
}, },
// //

Loading…
Cancel
Save