中航光电热表web
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.
 
 
 
 

595 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"
:openType="openType"
: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',
searchLabelWidth: 'auto',
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,
type: 'date',
searchRange: true,
valueFormat: 'YYYY-MM-DD',
format: 'YYYY-MM-DD',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
},
{
label: '出库仓库',
prop: 'shName',
search: true,
sortable: true,
filter: true,
span: 12,
width: 180,
},
{
label: '出库类别',
prop: 'outType',
type: 'select',
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',
search: false,
sortable: true,
filter: true,
span: 12,
width: 100,
},
{
label: '工装编号',
prop: 'toolCode',
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: '审批人',
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' }],
},
openType:''
};
},
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;
this.openType = '新增'
},
changeCode(val) {
if (this.checkCode == '') return;
this.openShow = true;
this.openType = '扫码'
},
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.$store.dispatch('changeSetting', {
title: 'otherOutParams',
form: this.query,
});
this.onLoad();
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
closeDialog(val) {
this.openShow = false;
this.showDetail = false;
this.checkCode = ''
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;
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,
...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;
});
// 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>