You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
559 lines
16 KiB
559 lines
16 KiB
<template> |
|
<basic-container> |
|
<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"> |
|
<template #menu-left> |
|
<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> |
|
</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> |
|
<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> |
|
</basic-container> |
|
</template> |
|
<script> |
|
import {getList,getDetail,approve} from "@/api/storeManagement/otherIssuing" |
|
import otherIssuingDailog from "./otherIssuingDailog.vue"; |
|
import detailsDialog from './detailsDialog.vue'; |
|
export default { |
|
components: { |
|
otherIssuingDailog, |
|
detailsDialog, |
|
}, |
|
data() { |
|
return { |
|
openShow: false, |
|
checkId:'', |
|
showDetail:false, |
|
checkCode:"", |
|
selectionList: [], |
|
query:{}, |
|
searchForm:{}, |
|
loading:false, |
|
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: false, |
|
viewBtn: false, |
|
delBtn: false, |
|
addBtn: false, |
|
editBtnText: "修改", |
|
editBtn:false, |
|
viewBtnIcon: " ", |
|
delBtnIcon: " ", |
|
editBtnIcon: " ", |
|
viewBtnText: "详情", |
|
labelWidth: 120, |
|
menuWidth: 120, |
|
dialogWidth: 1200, |
|
dialogClickModal: false, |
|
searchEnter: true, |
|
excelBtn: false, |
|
filterBtn: true, |
|
searchShowBtn: false, |
|
columnSort: true, |
|
excelBtn: true, |
|
columnSort: true, |
|
index: true, |
|
searchLabelPosition: "left", |
|
searchLabelPosition: "left", |
|
searchGutter: 24, |
|
searchSpan: 6, |
|
menuAlign: "center", |
|
gridBtn: false, |
|
searchMenuPosition: "right", |
|
addBtnIcon: " ", |
|
viewBtnIcon: " ", |
|
delBtnIcon: " ", |
|
editBtnIcon: " ", |
|
align: "center", |
|
column: [ |
|
{ |
|
label: "出库单号", |
|
prop: "sirCode", |
|
// bind: "stAccBill.billCode", |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
search: true, |
|
width: 180, |
|
}, |
|
{ |
|
label: "出库日期", |
|
prop: "inOutDate", |
|
// bind: "stAccBill.billDate", |
|
search: true, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
width: 180, |
|
}, |
|
{ |
|
label: "出库仓库", |
|
prop: "shName", |
|
// bind: "stAccBill.coStorehouse.shName", |
|
search: true, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
width: 180, |
|
}, |
|
{ |
|
label: "出库类别", |
|
prop: "outType", |
|
type: "select", |
|
// bind: "stAccBill.billFlagStr", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
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: "出库原因", |
|
prop: "inOutReason", |
|
type: "select", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
width: 180, |
|
dicData:[ |
|
{ |
|
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'} |
|
] |
|
}, |
|
{ |
|
label: "领料人", |
|
prop: "pickerName", |
|
search: true, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
width: 100, |
|
|
|
}, |
|
{ |
|
label: "制单人", |
|
prop: "createUserName", |
|
// bind: "stAccBill.createMan.userName", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
width: 100, |
|
}, |
|
{ |
|
label: "工装编号", |
|
prop: "toolCode", |
|
// bind: "pjMold.toolingCode", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 180, |
|
}, |
|
{ |
|
label: "报废单号", |
|
prop: "bfCode", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 180, |
|
}, |
|
{ |
|
label: "关联车间订单号", |
|
prop: "woCode", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 150, |
|
}, |
|
{ |
|
label: "审批状态", |
|
prop: "approvalStatus", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
type: "select", |
|
width: 180, |
|
dicData: [ |
|
{ |
|
label: "审批中", |
|
value: 0, |
|
}, |
|
{ |
|
label: "审批通过", |
|
value: 1, |
|
}, |
|
{ |
|
label: "审批驳回", |
|
value: 10, |
|
}, |
|
// { |
|
// label: "审批不通过", |
|
// value: 3, |
|
// }, |
|
], |
|
}, |
|
{ |
|
label: "审批意见", |
|
prop: "approvalOpinion", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 180, |
|
}, |
|
{ |
|
label: "审批人", |
|
prop: "approverName", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 180, |
|
}, |
|
{ |
|
label: "审批时间", |
|
prop: "approvalTime", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
type: "datetime", |
|
width: 180, |
|
}, |
|
{ |
|
label: "报废原因", |
|
prop: "bfType", |
|
// bind: "scrapReason", |
|
search: false, |
|
type:"select", |
|
sortable: true, |
|
// /** |
|
// * 报废类型:到期维护报废 |
|
// */ |
|
// public static final Short BF_TYPE_EXPIRED = 1; |
|
// /** |
|
// * 报废类型:归还报废 |
|
// */ |
|
// public static final Short BF_TYPE_RETURN = 2; |
|
// /** |
|
// * 报废类型:玻璃饼报废 |
|
// */ |
|
// public static final Short BF_TYPE_GLASS_CAKE = 3; |
|
dicData:[ |
|
{ label: "到期维护报废", value: 1 }, |
|
{ label: "未报废", value: 0 }, |
|
{ label: "归还报废", value: 2 }, |
|
{ label: "玻璃饼报废", value: 3 } |
|
], |
|
filter: true, |
|
span: 24, |
|
display: false, |
|
width: 180, |
|
}, |
|
{ |
|
label: "提请单号", |
|
prop: "crCode", |
|
// bind: "stAccBill.billCode", |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
search: true, |
|
width: 180, |
|
}, |
|
{ |
|
label: "备注", |
|
prop: "memo", |
|
search: false, |
|
sortable: true, |
|
filter: true, |
|
span: 12, |
|
display: false, |
|
width: 180, |
|
}, |
|
|
|
], |
|
}, |
|
form: {}, |
|
page: { |
|
pageSize: 10, |
|
currentPage: 1, |
|
total: 0, |
|
}, |
|
approveDialog:false, |
|
auditForm:{}, |
|
auditRules:{ |
|
approvalResult:[{ required: true, message: '请选择是否通过审核', trigger: 'blur' }] |
|
}, |
|
}; |
|
}, |
|
created(){ |
|
if (JSON.stringify(this.$store.state.client.otherOutParams) !== "{}") { |
|
this.query = this.$store.state.client.otherOutParams; |
|
this.searchForm = this.$store.state.client.otherOutParams; |
|
} |
|
}, |
|
methods: { |
|
addView() { |
|
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{ |
|
done(); |
|
} |
|
}, |
|
searchChange(params, done){ |
|
this.query = params; |
|
this.page.currentPage = 1; |
|
this.onLoad() |
|
this.$store.dispatch("changeSetting", { |
|
title: "otherOutParams", |
|
form: this.query, |
|
}); |
|
done() |
|
}, |
|
searchReset(){ |
|
this.query = {} |
|
this.onLoad() |
|
}, |
|
currentChange(currentPage){ |
|
this.page.currentPage = currentPage |
|
}, |
|
sizeChange(pageSize){ |
|
this.page.pageSize = pageSize |
|
}, |
|
closeDialog(val){ |
|
this.openShow = false |
|
this.showDetail = false |
|
if(val){ |
|
this.onLoad() |
|
} |
|
}, |
|
handleDelete() { |
|
if (this.selectionList.length === 0) { |
|
this.$message.warning("请选择至少一条数据"); |
|
return; |
|
} |
|
this.$confirm("确定将选择数据删除?", { |
|
confirmButtonText: "确定", |
|
cancelButtonText: "取消", |
|
type: "warning", |
|
}).then(() => { }); |
|
}, |
|
handeExamine(row){ |
|
this.auditForm = {} |
|
this.auditForm.id = row.id |
|
this.approveDialog = true |
|
}, |
|
handeDetails(row){ |
|
this.showDetail = true |
|
this.checkId = row.id |
|
}, |
|
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() |
|
} |
|
}) |
|
} |
|
}) |
|
}, |
|
// 多选 |
|
selectionChange(list) { |
|
this.selectionList = list; |
|
}, |
|
onLoad() { |
|
this.loading = true; |
|
getList({ |
|
current: this.page.currentPage, |
|
size: this.page.pageSize, |
|
...this.query, |
|
}).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 |
|
}) |
|
// this.data = [ |
|
// { |
|
// tbId: 'OT2023001', |
|
// stAccBill: { |
|
// billCode: 'OT2023001', |
|
// billDate: '2023-06-15', |
|
// coStorehouse: { |
|
// shName: '原料仓库' |
|
// }, |
|
// billFlagStr: '其他出库', |
|
// pfUserInfo: { |
|
// userCode: 'U001', |
|
// userName: '张三' |
|
// }, |
|
// createMan: { |
|
// userName: '李四' |
|
// } |
|
// }, |
|
// outTypStr: '生产领料', |
|
// pjMold: { |
|
// toolingCode: 'MOLD001' |
|
// }, |
|
// bfCode: 'BF2023001', |
|
// orderCode: 'WO2023001', |
|
// approvalStatus: 2, |
|
// approvalOpinion: '审批通过', |
|
// approvalUser: '王五', |
|
// approvalTime: '2023-06-15 14:30:00', |
|
// scrapReason: '无', |
|
// memo: '紧急生产需求' |
|
// }, |
|
// { |
|
// tbId: 'OT2023002', |
|
// stAccBill: { |
|
// billCode: 'OT2023002', |
|
// billDate: '2023-06-16', |
|
// coStorehouse: { |
|
// shName: '成品仓库' |
|
// }, |
|
// billFlagStr: '其他出库', |
|
// pfUserInfo: { |
|
// userCode: 'U002', |
|
// userName: '赵六' |
|
// }, |
|
// createMan: { |
|
// userName: '钱七' |
|
// } |
|
// }, |
|
// outTypStr: '样品出库', |
|
// pjMold: { |
|
// toolingCode: 'MOLD002' |
|
// }, |
|
// bfCode: 'BF2023002', |
|
// orderCode: 'WO2023002', |
|
// approvalStatus: 2, |
|
// approvalOpinion: '审批通过', |
|
// approvalUser: '孙八', |
|
// approvalTime: '2023-06-16 10:15:00', |
|
// scrapReason: '无', |
|
// memo: '客户样品需求' |
|
// } |
|
// ]; |
|
// this.page.total = this.data.length; |
|
// this.loading = false; |
|
// setTimeout(() => { |
|
// this.selectionClear(); |
|
// }, 500); |
|
}, |
|
}, |
|
}; |
|
</script> |
|
<style lang="scss" scoped></style>
|
|
|