仓库问题修改

dev-scheduling
zhangdi 3 weeks ago
parent 7b0d69d486
commit 58a8fdc8fd
  1. 75
      src/views/approvalRecord/index.vue
  2. 52
      src/views/basicData/bsPlanAssignSteerModify/addEditDialog.vue
  3. 23
      src/views/basicData/bsPlanAssignSteerModify/index.vue
  4. 94
      src/views/inboundOutboundManagement/materialIssuing.vue
  5. 2
      src/views/oem/oemOrderSettlement/components/settlementAnomaly.vue
  6. 2
      src/views/oem/oemOrderSettlement/components/settlementCompleted.vue
  7. 2
      src/views/oem/oemOrderSettlement/components/underReview.vue
  8. 2
      src/views/oem/oemOrderSettlement/components/unsettled.vue
  9. 4
      src/views/warehouseManagement/teamRequest/components/addEditDialog.vue

@ -6,7 +6,7 @@
width="50%" width="50%"
@close="closeDialog" @close="closeDialog"
> >
<el-timeline class="horizontal-timeline"> <!-- <el-timeline class="horizontal-timeline">
<el-timeline-item <el-timeline-item
v-for="(activity, index) in rowData" v-for="(activity, index) in rowData"
:key="index" :key="index"
@ -14,7 +14,25 @@
> >
{{ activity.label }}{{ activity.value }} {{ activity.label }}{{ activity.value }}
</el-timeline-item> </el-timeline-item>
</el-timeline> </el-timeline> -->
<div class="approval-flow">
<el-steps :active="activeStep" direction="horizontal" class="custom-steps">
<!-- 提交人节点 -->
<el-step v-for="(item, index) in rowData" :key="index">
<template #description>
<div class="step-content left" v-for="(items, indexs) in item.children">
<p>{{ items.label }}{{ items.value }}</p>
<p>{{ items.time }}</p>
</div>
</template>
<!-- 自定义节点圆点 -->
<template #icon>
<div class="custom-dot green"></div>
</template>
</el-step>
</el-steps>
</div>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="closeDialog"> </el-button> <el-button @click="closeDialog"> </el-button>
@ -115,4 +133,57 @@ export default {
margin-bottom: 8px; margin-bottom: 8px;
} }
} }
.approval-flow {
padding: 20px;
}
/* 自定义步骤条 */
.custom-steps {
width: 100%;
}
/* 隐藏默认图标和文字 */
.custom-steps .el-step__icon {
background: none;
border: none;
}
.custom-steps .el-step__title {
display: none;
}
/* 自定义节点圆点 */
.custom-dot {
width: 16px;
height: 16px;
border-radius: 50%;
border: 2px solid;
}
.custom-dot.green {
border-color: #67c23a;
}
.custom-dot.blue {
border-color: #409eff;
}
/* 自定义连接线 */
.custom-steps .el-step__line {
background-color: #ebeef5;
top: 8px;
}
.custom-steps .el-step__line-inner {
background-color: #ebeef5;
}
/* 步骤内容 */
.step-content {
margin-top: 10px;
font-size: 14px;
line-height: 1.6;
}
.step-content.left {
text-align: left;
}
.step-content.right {
text-align: left;
}
</style> </style>

@ -0,0 +1,52 @@
<template>
<el-dialog :title="title" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
rowItem:{
type: Object,
default: {},
},
title:{
type: String,
default: '新增'
}
},
data() {
return {
openShow: false,
};
},
mounted() {
this.openShow = this.showDialog;
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
},
submit() {
this.$refs.form.validate(async valid => {
if (valid) {
}
});
},
},
};
</script>
<style lang="scss" scoped></style>

@ -27,15 +27,22 @@
> >
</template> </template>
</avue-crud> </avue-crud>
<!-- 新增和修改 -->
<addEditDialog v-if="openShow" :showDialog="openShow" :title="title" @closeDialog="closeDialog"></addEditDialog>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import { getList } from '@/api/basicData/bsPlanAssignSteerModify'; import { getList } from '@/api/basicData/bsPlanAssignSteerModify';
import addEditDialog from './addEditDialog.vue';
export default { export default {
components: {}, components: {
addEditDialog
},
data() { data() {
return { return {
title: '新增',
openShow: false,
form: {}, form: {},
selectionList: [], selectionList: [],
query: {}, query: {},
@ -126,12 +133,24 @@ export default {
}, },
data: [], data: [],
rowItem:{}
}; };
}, },
methods: { methods: {
// //
addFn(){ addFn(){
this.showDialog = true
this.title = '新增'
},
//
editFn(row) {
this.rowItem = row
this.showDialog = true
this.title = '修改'
},
closeDialog(){
this.showDialog = false
this.onLoad(this.page,this.query)
}, },
rowDel(row) { rowDel(row) {
this.$confirm('确定将选择数据删除?', { this.$confirm('确定将选择数据删除?', {

@ -35,7 +35,7 @@
</template> </template>
<template #location="scope"> <template #location="scope">
<el-button type="text" @click="editRow(scope.row, scope.row.$index)">{{ <el-button type="text" @click="editRow(scope.row, scope.row.$index)">{{
scope.row.location == ''|| scope.row.location == null? '请选择库位' : scope.row.location scope.row.location == '' || scope.row.location == null ? '请选择库位' : scope.row.location
}}</el-button> }}</el-button>
</template> </template>
</avue-crud> </avue-crud>
@ -87,7 +87,7 @@ export default {
calcHeight: 32, calcHeight: 32,
simplePage: false, simplePage: false,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 12,
searchIcon: true, searchIcon: true,
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
@ -101,7 +101,7 @@ export default {
addBtn: false, addBtn: false,
labelWidth: 140, labelWidth: 140,
menu: true, menu: true,
menuWidth: 150, menuWidth: 120,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -144,75 +144,74 @@ export default {
prop: 'goodsName', prop: 'goodsName',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150, width: 120,
search: true, search: true,
}, },
{ {
label: '型号/牌号', label: '出库库位',
prop: 'materialModel', prop: 'location',
span: 8, span: 8,
width: 100,
overflow: true, overflow: true,
width: 120,
search: false, search: false,
}, },
{ {
label: '规格', label: '库房',
prop: 'specifications', prop: 'shName',
span: 8, span: 8,
overflow: true, overflow: true,
width: 120,
search: false, search: false,
width: 100,
}, },
{ {
label: '质量编号', label: '批次号',
prop: 'checkCode', prop: 'piNo',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150, width: 120,
search: false, search: false,
}, },
{ {
label: '出库库位', label: '出库数量',
prop: 'location', prop: 'currentOutQty',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150, width: 120,
search: false, search: false,
}, },
{ {
label: '库房', label: '领料人',
prop: 'shName', prop: 'pickerName',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150, width: 120,
search: false, search: false,
}, },
{ {
label: '批次号', label: '型号/牌号',
prop: 'piNo', prop: 'materialModel',
span: 8, span: 8,
width: 100,
overflow: true, overflow: true,
width: 150,
search: false, search: false,
}, },
{ {
label: '出库数量', label: '规格',
prop: 'currentOutQty', prop: 'specifications',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150,
search: false, search: false,
width: 100,
}, },
{ {
label: '领料人', label: '质量编号',
prop: 'pickerName', prop: 'checkCode',
span: 8, span: 8,
overflow: true, overflow: true,
width: 150, width: 150,
search: false, search: false,
}, },
{ {
label: '总库存', label: '总库存',
prop: 'currentStock', prop: 'currentStock',
@ -255,28 +254,6 @@ export default {
search: false, search: false,
}, },
{
label: '提请人',
prop: 'crManName',
span: 8,
overflow: true,
width: 100,
search: true,
},
{
label: '提请日期',
prop: 'crDate',
type: 'date',
valueFormat: 'YYYY-MM-DD',
format: 'YYYY-MM-DD',
searchRange: true,
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
span: 8,
overflow: true,
search: true,
width: 180,
},
{ {
label: '备注', label: '备注',
prop: 'memo', prop: 'memo',
@ -353,8 +330,8 @@ export default {
crId: row.id, crId: row.id,
currentOutQty: row.currentOutQty, currentOutQty: row.currentOutQty,
rlsId: row.rlsId, rlsId: row.rlsId,
pickerName:row.pickerName, pickerName: row.pickerName,
picker:row.picker picker: row.picker,
}, },
]; ];
batchIssue(query).then(res => { batchIssue(query).then(res => {
@ -412,6 +389,8 @@ export default {
crId: item.id, // ID crId: item.id, // ID
currentOutQty: item.currentOutQty, // currentOutQty: item.currentOutQty, //
rlsId: item.rlsId, // ID rlsId: item.rlsId, // ID
pickerName: row.pickerName,
picker: row.picker,
})); }));
this.$confirm(`确定对选中的 ${this.selectionList.length} 条数据进行出库操作?`, { this.$confirm(`确定对选中的 ${this.selectionList.length} 条数据进行出库操作?`, {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -427,6 +406,7 @@ export default {
}, },
closeDialog(val) { closeDialog(val) {
this.editDialog = false; this.editDialog = false;
if (val.shId) {
this.data[val.index].shId = val.shId; this.data[val.index].shId = val.shId;
this.data[val.index].shName = val.shName; this.data[val.index].shName = val.shName;
this.data[val.index].slId = val.slId; this.data[val.index].slId = val.slId;
@ -434,9 +414,9 @@ export default {
this.data[val.index].piNo = val.piNo; this.data[val.index].piNo = val.piNo;
this.data[val.index].currentOutQty = val.currentOutQty; this.data[val.index].currentOutQty = val.currentOutQty;
this.data[val.index].rlsId = val.id; this.data[val.index].rlsId = val.id;
this.data[val.index].picker = val.picker this.data[val.index].picker = val.picker;
this.data[val.index].pickerName = val.pickerName this.data[val.index].pickerName = val.pickerName;
}
}, },
onLoad() { onLoad() {
this.loading = true; this.loading = true;
@ -455,7 +435,7 @@ export default {
}).then(res => { }).then(res => {
this.data = res.data.data.records; this.data = res.data.data.records;
this.data.forEach((item, index) => { this.data.forEach((item, index) => {
item.currentOutQty = item.pendingApplyQty; // item.currentOutQty = item.pendingApplyQty;
}); });
this.page.total = res.data.data.total; this.page.total = res.data.data.total;
this.loading = false; this.loading = false;

@ -166,7 +166,7 @@ export default {
dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999", dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999",
props:{ props:{
label: 'paName', label: 'paName',
value: 'oemProcessCode', value: 'processId',
res: 'data.records', res: 'data.records',
}, },
searchOrder:10, searchOrder:10,

@ -159,7 +159,7 @@ export default {
dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999", dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999",
props:{ props:{
label: 'paName', label: 'paName',
value: 'oemProcessCode', value: 'processId',
res: 'data.records', res: 'data.records',
}, },
searchOrder:10, searchOrder:10,

@ -204,7 +204,7 @@ export default {
dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999", dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999",
props:{ props:{
label: 'paName', label: 'paName',
value: 'oemProcessCode', value: 'processId',
res: 'data.records', res: 'data.records',
}, },
searchOrder:9, searchOrder:9,

@ -245,7 +245,7 @@ export default {
dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999", dicUrl:"/api/blade-desk/mesOemProcess/page?current=1&&size=99999",
props:{ props:{
label: 'paName', label: 'paName',
value: 'oemProcessCode', value: 'processId',
res: 'data.records', res: 'data.records',
}, },
searchOrder:9, searchOrder:9,

@ -27,8 +27,8 @@
<jhSelect <jhSelect
v-model="scope.row.goodsCode" v-model="scope.row.goodsCode"
placeholder="请搜索选择" placeholder="请搜索选择"
api-url="/blade-wms/stGoods/list" api-url="/blade-wms/combox/config/goodsAll"
echo-api="/blade-wms/stGoods/list" echo-api="/blade-wms/combox/config/goodsAll"
echoParamsKey="goodsCode" echoParamsKey="goodsCode"
echo-method="get" echo-method="get"
api-method="get" api-method="get"

Loading…
Cancel
Save