Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling

dev-scheduling
ysn 2 months ago
commit 6e8b12e2a6
  1. 9
      src/api/storeManagement/matureSubmission.js
  2. 1
      src/views/inboundOutboundManagement/components/addEditDialog.vue
  3. 465
      src/views/inboundOutboundManagement/otherIssuing/index.vue
  4. 1611
      src/views/inboundOutboundManagement/otherIssuing/otherIssuingDailog.vue
  5. 7
      src/views/orderManagement/components/exception/dataMissing.vue
  6. 1
      src/views/productionManagement/components/coatingMater/assayedContent.vue
  7. 4
      src/views/system/menu.vue
  8. 164
      src/views/warehouseManagement/materialExpiration/InspectionDialog.vue
  9. 730
      src/views/warehouseManagement/materialExpiration/matureSubmission.vue

@ -8,4 +8,13 @@ export const getList = params => {
method: 'get',
params
});
};
// 确认送检 stExpireSubmission/submit
export const save = params => {
return request({
url: '/api/blade-wms/stExpireSubmission/submit',
method: 'post',
data: params
});
};

@ -402,6 +402,7 @@ export default {
console.log('index--------', index);
getGlassPieList({
woCode: e.target.value,
goodsCode:this.tableData[index].goodsCode,
}).then(res => {
console.log('res--------', res);
});

@ -1,45 +1,77 @@
<template>
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form"
v-model:page="page" ref="crud"
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
v-model:search="searchForm"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
:before-open="beforeOpen">
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
:before-open="beforeOpen"
>
<template #menu-left>
<el-input v-model="checkCode" @keyup.enter.native="changeCode" style="width: 240px; margin-right: 24px" placeholder="请扫描条形码" />
<el-input
v-model="checkCode"
@keyup.enter.native="changeCode"
style="width: 240px; margin-right: 24px"
placeholder="请扫描条形码"
/>
<el-button type="primary" @click="addView()">新增</el-button>
</template>
<template #menu-right> </template>
<template #menu="scope">
<el-button type="text" @click="handeDetails(scope.row)">详情</el-button>
<el-button type="text" v-if="scope.row.approvalStatus === 0" @click="handeExamine(scope.row)">审批</el-button>
<el-button type="text" @click="handeDetails(scope.row)">详情</el-button>
<el-button
type="text"
v-if="scope.row.approvalStatus === 0"
@click="handeExamine(scope.row)"
>审批</el-button
>
</template>
<!-- <template #menu="scope">
<el-button type="text" size="mini" @click="handle(scope.row.tbId)">处理</el-button>
</template> -->
</avue-crud>
<otherIssuingDailog v-if="openShow" :showDialog="openShow" :checkCode="checkCode" @closeDialog="closeDialog"></otherIssuingDailog>
<detailsDialog v-if="showDetail" :showDialog="showDetail" :id="checkId" @closeDialog="closeDialog"></detailsDialog>
<otherIssuingDailog
v-if="openShow"
:showDialog="openShow"
:checkCode="checkCode"
@closeDialog="closeDialog"
></otherIssuingDailog>
<detailsDialog
v-if="showDetail"
:showDialog="showDetail"
:id="checkId"
@closeDialog="closeDialog"
></detailsDialog>
<el-dialog width="30%" v-model="approveDialog" title="审批">
<el-form :model="auditForm" :rules="auditRules" ref="auditForm">
<el-form-item label="是否审核通过" prop="approvalResult">
<el-radio v-model="auditForm.approvalResult" label="1"></el-radio>
<el-radio v-model="auditForm.approvalResult" label="10"></el-radio>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="approveDialog = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
<el-form :model="auditForm" :rules="auditRules" ref="auditForm">
<el-form-item label="是否审核通过" prop="approvalResult">
<el-radio v-model="auditForm.approvalResult" label="1"></el-radio>
<el-radio v-model="auditForm.approvalResult" label="10"></el-radio>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="approveDialog = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</basic-container>
</template>
<script>
import {getList,getDetail,approve} from "@/api/storeManagement/otherIssuing"
import otherIssuingDailog from "./otherIssuingDailog.vue";
import { getList, getDetail, approve } from '@/api/storeManagement/otherIssuing';
import otherIssuingDailog from './otherIssuingDailog.vue';
import detailsDialog from './detailsDialog.vue';
export default {
components: {
@ -49,15 +81,15 @@ export default {
data() {
return {
openShow: false,
checkId:'',
showDetail:false,
checkCode:"",
checkId: '',
showDetail: false,
checkCode: '',
selectionList: [],
query:{},
searchForm:{},
loading:false,
query: {},
searchForm: {},
loading: false,
option: {
height: "auto",
height: 'auto',
calcHeight: 32,
tip: false,
// size: "medium",
@ -73,12 +105,12 @@ export default {
viewBtn: false,
delBtn: false,
addBtn: false,
editBtnText: "修改",
editBtn:false,
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
viewBtnText: "详情",
editBtnText: '修改',
editBtn: false,
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
menuWidth: 120,
dialogWidth: 1200,
@ -91,22 +123,22 @@ export default {
excelBtn: true,
columnSort: true,
index: true,
searchLabelPosition: "left",
searchLabelWidth: "auto",
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: "center",
menuAlign: 'center',
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
column: [
{
label: "出库单号",
prop: "sirCode",
label: '出库单号',
prop: 'sirCode',
// bind: "stAccBill.billCode",
sortable: true,
filter: true,
@ -115,18 +147,24 @@ export default {
width: 180,
},
{
label: "出库日期",
prop: "inOutDate",
label: '出库日期',
prop: 'inOutDate',
// bind: "stAccBill.billDate",
search: true,
sortable: true,
filter: true,
span: 12,
width: 180,
type: 'date',
searchRange: true,
valueFormat: 'YYYY-MM-DD',
format: 'YYYY-MM-DD',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
},
{
label: "出库仓库",
prop: "shName",
label: '出库仓库',
prop: 'shName',
// bind: "stAccBill.coStorehouse.shName",
search: true,
sortable: true,
@ -135,91 +173,89 @@ export default {
width: 180,
},
{
label: "出库类别",
prop: "outType",
type: "select",
label: '出库类别',
prop: 'outType',
type: 'select',
// bind: "stAccBill.billFlagStr",
search: false,
sortable: true,
filter: true,
span: 12,
width:110,
dicData:[
width: 110,
dicData: [
/*0:报废出库,1:料头出库,2.超额出库,3复检出库,4领用出库,5库转移,6退货出库,11不合格退库*/
{ label: "报废出库", value: 0 },
{ label: "料头出库", value: 1 },
{ label: "超额出库", value: 2 },
{ label: "复检出库", value: 3 },
{ label: "领用出库", value: 4 },
{ label: "库转移", value: 5 },
{ label: "退货出库", value: 6 },
{ label: "班组提请", value: 8 },
{ label: "不合格退库", value: 11 },
]
{ label: '报废出库', value: 0 },
{ label: '料头出库', value: 1 },
{ label: '超额出库', value: 2 },
{ label: '复检出库', value: 3 },
{ label: '领用出库', value: 4 },
{ label: '库转移', value: 5 },
{ label: '退货出库', value: 6 },
{ label: '班组提请', value: 8 },
{ label: '不合格退库', value: 11 },
],
},
{
label: "出库原因",
prop: "inOutReason",
type: "select",
label: '出库原因',
prop: 'inOutReason',
type: 'select',
search: false,
sortable: true,
filter: true,
span: 12,
width: 180,
dicData:[
dicData: [
{
value: '0',
label: '报废出库',
},
{
value: '1',
label: '料头出库',
},
{
value: '2',
label: '超额出库',
},
{
value: '3',
label: '复检出库',
},
{
value: '4',
label: '领用出库',
},
{
value: '0',
label: "报废出库"
},
{
value: '1',
label: "料头出库"
},
{
value: '2',
label: "超额出库"
},
{
value: '3',
label: "复检出库"
},
{
value: '4',
label: "领用出库"
},
{
value: '5',
label: "库转移"
},
{
value: '6',
label: "退货出库"
},
{
value: '7',
label: "物料出库"
},
{
value: '8',
label: "班组提请"
},
{label:'不合格退库',value:'11'}
]
value: '5',
label: '库转移',
},
{
value: '6',
label: '退货出库',
},
{
value: '7',
label: '物料出库',
},
{
value: '8',
label: '班组提请',
},
{ label: '不合格退库', value: '11' },
],
},
{
label: "领料人",
prop: "pickerName",
label: '领料人',
prop: 'pickerName',
search: true,
sortable: true,
filter: true,
span: 12,
width: 100,
},
{
label: "制单人",
prop: "createUserName",
label: '制单人',
prop: 'createUserName',
// bind: "stAccBill.createMan.userName",
search: false,
sortable: true,
@ -228,8 +264,8 @@ export default {
width: 100,
},
{
label: "工装编号",
prop: "toolCode",
label: '工装编号',
prop: 'toolCode',
// bind: "pjMold.toolingCode",
search: false,
sortable: true,
@ -239,8 +275,8 @@ export default {
width: 180,
},
{
label: "报废单号",
prop: "bfCode",
label: '报废单号',
prop: 'bfCode',
search: false,
sortable: true,
filter: true,
@ -249,8 +285,8 @@ export default {
width: 180,
},
{
label: "关联车间订单号",
prop: "woCode",
label: '关联车间订单号',
prop: 'woCode',
search: false,
sortable: true,
filter: true,
@ -259,26 +295,26 @@ export default {
width: 150,
},
{
label: "审批状态",
prop: "approvalStatus",
label: '审批状态',
prop: 'approvalStatus',
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
type: "select",
type: 'select',
width: 180,
dicData: [
{
label: "审批中",
label: '审批中',
value: 0,
},
{
label: "审批通过",
label: '审批通过',
value: 1,
},
{
label: "审批驳回",
label: '审批驳回',
value: 10,
},
// {
@ -288,8 +324,8 @@ export default {
],
},
{
label: "审批意见",
prop: "approvalOpinion",
label: '审批意见',
prop: 'approvalOpinion',
search: false,
sortable: true,
filter: true,
@ -298,8 +334,8 @@ export default {
width: 180,
},
{
label: "审批人",
prop: "approverName",
label: '审批人',
prop: 'approverName',
search: false,
sortable: true,
filter: true,
@ -308,22 +344,22 @@ export default {
width: 180,
},
{
label: "审批时间",
prop: "approvalTime",
label: '审批时间',
prop: 'approvalTime',
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
type: "datetime",
type: 'datetime',
width: 180,
},
{
label: "报废原因",
prop: "bfType",
label: '报废原因',
prop: 'bfType',
// bind: "scrapReason",
search: false,
type:"select",
type: 'select',
sortable: true,
// /**
// *
@ -337,11 +373,11 @@ export default {
// *
// */
// public static final Short BF_TYPE_GLASS_CAKE = 3;
dicData:[
{ label: "到期维护报废", value: 1 },
{ label: "未报废", value: 0 },
{ label: "归还报废", value: 2 },
{ label: "玻璃饼报废", value: 3 }
dicData: [
{ label: '到期维护报废', value: 1 },
{ label: '未报废', value: 0 },
{ label: '归还报废', value: 2 },
{ label: '玻璃饼报废', value: 3 },
],
filter: true,
span: 24,
@ -349,8 +385,8 @@ export default {
width: 180,
},
{
label: "提请单号",
prop: "crCode",
label: '提请单号',
prop: 'crCode',
// bind: "stAccBill.billCode",
sortable: true,
filter: true,
@ -359,8 +395,8 @@ export default {
width: 180,
},
{
label: "备注",
prop: "memo",
label: '备注',
prop: 'memo',
search: false,
sortable: true,
filter: true,
@ -368,7 +404,6 @@ export default {
display: false,
width: 180,
},
],
},
form: {},
@ -377,15 +412,15 @@ export default {
currentPage: 1,
total: 0,
},
approveDialog:false,
auditForm:{},
auditRules:{
approvalResult:[{ required: true, message: '请选择是否通过审核', trigger: 'blur' }]
approveDialog: false,
auditForm: {},
auditRules: {
approvalResult: [{ required: true, message: '请选择是否通过审核', trigger: 'blur' }],
},
};
},
created(){
if (JSON.stringify(this.$store.state.client.otherOutParams) !== "{}") {
created() {
if (JSON.stringify(this.$store.state.client.otherOutParams) !== '{}') {
this.query = this.$store.state.client.otherOutParams;
this.searchForm = this.$store.state.client.otherOutParams;
}
@ -394,82 +429,82 @@ export default {
addView() {
this.openShow = true;
},
changeCode(val){
if(this.checkCode == "") return
this.openShow = true
changeCode(val) {
if (this.checkCode == '') return;
this.openShow = true;
},
beforeOpen(done, type){
if(['view'].includes(type)){
getDetail({id:this.form.id}).then(res =>{
console.log('res=============',res)
})
}else{
beforeOpen(done, type) {
if (['view'].includes(type)) {
getDetail({ id: this.form.id }).then(res => {
console.log('res=============', res);
});
} else {
done();
}
},
searchChange(params, done){
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad()
this.$store.dispatch("changeSetting", {
title: "otherOutParams",
this.onLoad();
this.$store.dispatch('changeSetting', {
title: 'otherOutParams',
form: this.query,
});
done()
done();
},
searchReset(){
this.query = {}
this.$store.dispatch("changeSetting", {
title: "otherOutParams",
searchReset() {
this.query = {};
this.$store.dispatch('changeSetting', {
title: 'otherOutParams',
form: this.query,
});
this.onLoad()
this.onLoad();
},
currentChange(currentPage){
this.page.currentPage = currentPage
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize){
this.page.pageSize = pageSize
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
closeDialog(val){
this.openShow = false
this.showDetail = false
if(val){
this.onLoad()
closeDialog(val) {
this.openShow = false;
this.showDetail = false;
if (val) {
this.onLoad();
}
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => { });
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {});
},
handeExamine(row){
this.auditForm = {}
this.auditForm.id = row.id
this.approveDialog = true
handeExamine(row) {
this.auditForm = {};
this.auditForm.id = row.id;
this.approveDialog = true;
},
handeDetails(row){
this.showDetail = true
this.checkId = row.id
handeDetails(row) {
this.showDetail = true;
this.checkId = row.id;
},
submit(){
submit() {
this.$refs.auditForm.validate(valid => {
if(valid){
approve({...this.auditForm}).then(res =>{
if(res.data.code == 200){
this.$message.success('审批成功')
this.approveDialog = false
this.onLoad()
}
})
if (valid) {
approve({ ...this.auditForm }).then(res => {
if (res.data.code == 200) {
this.$message.success('审批成功');
this.approveDialog = false;
this.onLoad();
}
});
}
})
});
},
//
selectionChange(list) {
@ -477,18 +512,26 @@ export default {
},
onLoad() {
this.loading = true;
let params = {
...this.query,
startInOutDate:
this.query.inOutDate && this.query.inOutDate.length != 0 && this.query.inOutDate[0],
endInOutDate:
this.query.inOutDate && this.query.inOutDate.length != 0 && this.query.inOutDate[1],
};
if (params.inOutDate) delete params.inOutDate;
getList({
current: this.page.currentPage,
size: this.page.pageSize,
...this.query,
...params,
}).then(res => {
res.data.data.records.forEach(item => {
item.approvalStatus = item.approvalStatus === -1 ? '' : item.approvalStatus
})
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false
})
item.approvalStatus = item.approvalStatus === -1 ? '' : item.approvalStatus;
});
this.data = res.data.data.records;
this.page.total = res.data.data.total;
this.loading = false;
});
// this.data = [
// {
// tbId: 'OT2023001',

@ -876,7 +876,6 @@ export default {
}
},
partCodeChange(val,value,item) {
console.log(val, value,item,9090909090)
this.editForm.partName =item.partName
},
submitEdit() {
@ -1011,3 +1010,9 @@ export default {
},
};
</script>
<style scoped>
:deep(.el-dialog){
height: 85vh;
margin-top: 5vh;
}
</style>

@ -151,7 +151,6 @@ export default {
label: '化验时间',
prop: 'assayTime',
span: 24,
type: 'datetime',
overflow: true,
search: false,
headerAlign: 'center',

@ -102,12 +102,12 @@ addBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
searchShowBtn:false,
align: 'center',
// align: 'center',
column: [
{
label: '菜单名称',
prop: 'name',
width: 300,
width: 240,
search: true,
rules: [
{

@ -0,0 +1,164 @@
<template>
<el-dialog
title="批量送检"
append-to-body
:modelValue="openShow"
width="90%"
@close="closeDialog"
>
<el-table
ref="xTable"
:loading="btnLoading"
:data="rowData"
border
show-overflow
class="el-table-element"
stripe
height="400px"
highlight-current-row
row-id="rowIndex"
>
<!-- <el-table-column type="checkbox" width="40" /> -->
<el-table-column label="物料编码" align="center" prop="goodsCode" min-width="120" />
<el-table-column label="物料名称" align="center" prop="goodsName" min-width="150" />
<el-table-column label="送检数量" align="center" prop="esQty" min-width="150">
<template #header>
<span><i style="color: red">*</i>送检数量</span>
</template>
<template #default="scope">
<!-- <el-input v-model="scope.row.esQty" placeholder="请输入" /> -->
<el-input-number v-model="scope.row.esQty" :min="0" label="请输入"></el-input-number>
</template>
</el-table-column>
<el-table-column label="送检部门" align="center" prop="esDeptId" min-width="150">
<template #header>
<span><i style="color: red">*</i>送检部门</span>
</template>
<template #default="scope">
<el-select
v-model="scope.row.esDeptId"
clearable
filterable
@change="deptChange(scope.row)"
>
<el-option
v-for="(item, index) in deplList"
:key="index"
:label="item.deptName"
:value="item.id"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="炉批号" align="center" prop="stovePiNo" min-width="100" />
<el-table-column label="型号/牌号" align="center" prop="specifications" min-width="100" />
<el-table-column label="生产标识" align="center" min-width="100" prop="quantityLevel" />
<el-table-column label="检验编号" align="center" prop="checkoutCode" width="100" />
<el-table-column label="供方代码" align="center" prop="splyCode" width="100" />
</el-table>
<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>
import { getDeplList } from '@/api/flowManagement/index';
import { save } from '@/api/storeManagement/matureSubmission';
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
rowData: {
type: Array,
default: () => [],
},
},
data() {
return {
openShow: false,
deplList: [],
};
},
mounted() {
this.openShow = this.showDialog;
console.log('rowData', this.rowData);
this.getDeplLists();
},
methods: {
//
deptChange(row) {
let sel = this.deplList.filter(item => item.id == row.esDeptId)[0];
row.esDept = sel.deptName;
},
//
getDeplLists() {
getDeplList().then(res => {
let data = res.data.data;
data.forEach(item => {
if (item.deptName == '热表分厂') {
this.deplList = item.children || [];
}
});
});
},
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
},
submit() {
if (!this.rowData || this.rowData.length === 0) {
this.$message.warning('没有可提交的数据');
return;
}
// 2.
for (let i = 0; i < this.rowData.length; i++) {
const row = this.rowData[i];
// (esQty)
// el-input-number 0 0
// 0 null/undefined0 !row.esQty
if (row.esQty === null || row.esQty === undefined || row.esQty === '') {
this.$message.error(`${i + 1} 行数据的“送检数量”不能为空`);
return; //
}
// (esDeptId)
if (!row.esDeptId) {
this.$message.error(`${i + 1} 行数据的“送检部门”不能为空`);
return; //
}
}
// 3.
console.log('校验通过,准备提交数据:', this.rowData);
save(this.rowData)
.then(res => {
this.$message.success('送检成功');
this.closeDialog();
})
.catch(err => {
this.closeDialog();
});
// TODO:
// submitInspection(this.rowData).then(res => {
// if (res.data.code === 200) {
// this.$message.success('');
// this.closeDialog();
// }
// });
// this.$message.success('');
// this.closeDialog();
},
},
};
</script>
<style lang="scss" scoped></style>

@ -1,385 +1,371 @@
<template>
<basic-container>
<avue-crud :option="option" v-model:search="search" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<!-- 批量送检 对接erp中的数据 -->
<el-button type="primary" @click="allocationFun()">批量送检</el-button>
<!-- <el-button type="danger" @click="handle()">删除</el-button> -->
</template>
<template #menu-right>
<el-button type="warning" @click="searchData(0)" plain>即将到期</el-button>
<el-button type="danger" @click="searchData(1)" plain>已到期</el-button>
<!-- <el-button type="primary" @click="allocationFun()">批量调拨</el-button>
<basic-container>
<avue-crud
:option="option"
v-model:search="search"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left>
<!-- 批量送检 对接erp中的数据 -->
<el-button type="primary" @click="allocationFun()">批量送检</el-button>
<!-- <el-button type="danger" @click="handle()">删除</el-button> -->
</template>
<template #menu-right>
<el-button type="warning" @click="searchData(0)" plain>即将到期</el-button>
<el-button type="danger" @click="searchData(1)" plain>已到期</el-button>
<!-- <el-button type="primary" @click="allocationFun()">批量调拨</el-button>
<el-button type="primary" @click="handle()">导入</el-button> -->
</template>
<template #menu="scope">
<!-- <el-button type="text" @click="handle(scope.row.tbId)">调拨</el-button> -->
</template>
</template>
<template #menu="scope">
<!-- <el-button type="text" @click="handle(scope.row.tbId)">调拨</el-button> -->
</template>
</avue-crud>
</avue-crud>
</basic-container>
<!-- 到期送检 -->
<inspectionDialog
ref="inspectionDialog"
@closeDialog="closeDialog"
:showDialog="inspectionShow"
:rowData="rowData"
v-if="inspectionShow"
/>
</basic-container>
</template>
<script>
import {getList} from "@/api/storeManagement/matureSubmission"
import { getList } from '@/api/storeManagement/matureSubmission';
import inspectionDialog from './InspectionDialog.vue';
export default {
data() {
return {
selectionList: [],
loading: false,
search:{
days:30
},
option: {
height: 'auto',
calcHeight: 32,
tip: false,
// size: 'medium',
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: true,
viewBtn: false,
delBtn: false,
addBtn: false,
editBtnText: '修改',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
menuWidth: 180,
dialogWidth: 1040,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true,
menu: false,
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
column: [
{
label: '送检单号',
prop: 'esCode',
sortable: true,
filter: true,
span: 12,
search: true,
width: 200,
},
{
label: '物料编码',
prop: 'goodsCode',
// bind: 'coGoods.goodsCode',
sortable: true,
filter: true,
span: 12,
search: true,
width: 160,
},
{
label: '物料名称',
prop: 'goodsName',
// bind: 'coGoods.goodsName',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
// {
// label: '',
// prop: 'shName',
// // bind: 'stRealtimeStock.coStorehouse.shName',
// sortable: true,
// filter: true,
// span: 12,
// search: false,
// width: 120,
// },
{
label: '所属仓库',
prop: 'shName',
// bind: 'stRealtimeStock.storageLocation.location',
sortable: true,
filter: true,
span: 12,
search: false,
width: 160,
headerAlign: 'center',
},
{
label: '炉批号',
prop: 'stovePiNo',
// bind: 'stovePiNo',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '检验编号',
prop: 'checkCode',
// bind: 'checkCode',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '质量等级',
prop: 'quantityLevel',
// bind: 'quantityLevel',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检数量',
prop: 'esQty',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检部门',
prop: 'esDept',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检日期',
prop: 'esTime',
sortable: true,
filter: true,
span: 12,
search: false,
width: 160,
},
{
label: '送检人',
prop: 'esMan',
// bind: 'userName',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '临期天数',
prop:"expireDays",
width:120
},
{
label: '到期状态',
prop: 'expireStatus',
// bind: 'wsMan.userName',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
type: 'select',
dicData: [
{
label: '未到期',
value: 0
},
{
label: '已到期',
value: 1
}
]
},
{
label: '送检状态',
prop: 'applyFor',
// bind: 'wsMan.userName',
sortable: true,
filter: true,
span: 12,
search: true,
width: 120,
type: 'select',
dicData: [
{
label: '未送检',
value: false
},
{
label: '已送检',
value: true
}
]
},
components: {
inspectionDialog,
},
]
},
form: {
data() {
return {
inspectionShow: false,
selectionList: [],
loading: false,
search: {
days: 30,
},
option: {
height: 'auto',
calcHeight: 32,
tip: false,
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: true,
viewBtn: false,
delBtn: false,
addBtn: false,
editBtnText: '修改',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
menuWidth: 180,
dialogWidth: 1040,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true,
menu: false,
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
column: [
{
label: '送检单号',
prop: 'esCode',
sortable: true,
filter: true,
span: 12,
search: true,
width: 200,
},
{
label: '物料编码',
prop: 'goodsCode',
sortable: true,
filter: true,
span: 12,
search: true,
width: 160,
},
{
label: '物料名称',
prop: 'goodsName',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
},
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
query:{}
}
{
label: '所属仓库',
prop: 'shName',
sortable: true,
filter: true,
span: 12,
search: false,
width: 160,
headerAlign: 'center',
},
{
label: '炉批号',
prop: 'stovePiNo',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '检验编号',
prop: 'checkCode',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '质量等级',
prop: 'quantityLevel',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检数量',
prop: 'esQty',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检部门',
prop: 'esDept',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '送检日期',
prop: 'esTime',
sortable: true,
filter: true,
span: 12,
search: false,
width: 160,
},
{
label: '送检人',
prop: 'esMan',
sortable: true,
filter: true,
span: 12,
search: false,
width: 120,
},
{
label: '临期天数',
prop: 'expireDays',
width: 120,
},
{
label: '到期状态',
prop: 'expireStatus',
sortable: true,
filter: true,
span: 12,
search: true,
width: 120,
fixed: 'right',
type: 'select',
dicData: [
{
label: '即将到期',
value: 0,
},
{
label: '已超期',
value: 1,
},
],
},
{
label: '送检状态',
prop: 'applyFor',
sortable: true,
filter: true,
span: 12,
search: true,
width: 120,
type: 'select',
fixed: 'right',
dicData: [
{
label: '未送检',
value: false,
},
{
label: '已送检',
value: true,
},
],
},
],
},
form: {},
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
query: {},
rowData:[]
};
},
methods: {
closeDialog() {
this.inspectionShow = false;
this.onLoad(this.page, this.query);
},
methods: {
searchChange(params, done){
this.query = params
this.page.currentPage = 1;
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.onLoad()
},
currentChange(currentPage){
this.page.currentPage = currentPage;
},
sizeChange(pageSize){
this.page.pageSize = pageSize;
},
warehousing() {
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad();
done();
},
searchReset() {
this.query = {};
this.onLoad();
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
warehousing() {},
warehousingLog() {},
searchData(type) {
this.query.expireStatus = type;
this.onLoad();
},
//
allocationFun() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
const allUninspected = this.selectionList.every(item => item.applyFor === false);
},
warehousingLog() {
if (!allUninspected) {
this.$message.error('只能对“未送检”的数据进行批量送检,请检查选中项');
return;
}
this.selectionList.forEach(item => {
item.esDept = '' //
item.esQty = '' //
item.esDeptId='' //id
});
this.rowData = this.selectionList
this.inspectionShow = true
},
searchData(type){
this.query.expireStatus = type
this.onLoad()
},
allocationFun(arId) {
// this.$confirm('', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// })
// .then(() => {
// const obj = { list: [] };
// if (arId == null) {
// this.selectionArr.forEach(item => {
// obj.list.push(item.arId);
// });
// } else {
// obj.list.push(arId);
// }
// // this.$ajax.post('stAllotRecord/updateLocation', obj).then(res => {
// // if (res.code === 0) {
// // this.$message.success(this.$t('store.allocationOk'));
// // this.$refs.myTable.load();
// // }
// // });
// })
// .catch(() => {
// this.$message.info(
// this.$t('global.canceled') + this.$t('store.allocation')
// );
// });
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
})
},
//
selectionChange(list) {
this.selectionList = list;
},
onLoad() {
this.loading = true
getList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
}).then(res =>{
this.data = res.data.data.records
console.log('data-----------',this.data)
this.page.total = res.data.data.total
this.loading = false
})
// this.data = [
// {
// "wsCode": "34544554",
// "goodsCode": "876788",
// "goodsName": "",
// "shName": "",
// "location": "()",
// "stovePiNo": "87889",
// "checkCode": "8767677",
// "quantityLevel": "",
// "wsQty": 89,
// "wsDept": "",
// "wsTime": "2025-10-09",
// "userName": "",
// "status": "",
// "statusTitle": ""
// },
// {
// "wsCode": "34544554",
// "goodsCode": "876788",
// "goodsName": "",
// "shName": "",
// "location": "",
// "stovePiNo": "87889",
// "checkCode": "8767677",
// "quantityLevel": "",
// "wsQty": 89,
// "wsDept": "",
// "wsTime": "2025-10-09",
// "userName": "",
// "status": "",
// "statusTitle": ""
// }
// ]
// this.page.total = this.data.length
// this.loading = false
// setTimeout(() => {
// this.selectionClear()
// }, 500)
}
}
}
// this.$confirm('', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// })
// .then(() => {
// const obj = { list: [] };
// if (arId == null) {
// this.selectionArr.forEach(item => {
// obj.list.push(item.arId);
// });
// } else {
// obj.list.push(arId);
// }
// // this.$ajax.post('stAllotRecord/updateLocation', obj).then(res => {
// // if (res.code === 0) {
// // this.$message.success(this.$t('store.allocationOk'));
// // this.$refs.myTable.load();
// // }
// // });
// })
// .catch(() => {
// this.$message.info(
// this.$t('global.canceled') + this.$t('store.allocation')
// );
// });
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {});
},
//
selectionChange(list) {
this.selectionList = list;
},
onLoad() {
this.loading = true;
getList({
current: this.page.currentPage,
size: this.page.pageSize,
...this.query,
}).then(res => {
this.data = res.data.data.records;
this.page.total = res.data.data.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped></style>
Loading…
Cancel
Save