145 lines
4.2 KiB
Vue
145 lines
4.2 KiB
Vue
<template>
|
|
<div class="execution">
|
|
<basic-container>
|
|
<avue-crud ref="crud"
|
|
:page.sync="page"
|
|
:data="tableData"
|
|
:permission="permissionList"
|
|
:table-loading="tableLoading"
|
|
:option="tableOption"
|
|
@search-change="searchChange"
|
|
@refresh-change="refreshChange"
|
|
@size-change="sizeChange"
|
|
@current-change="currentChange"
|
|
@search-reset="searchReset">
|
|
<template slot="searchMenu" slot-scope="{row,size}">
|
|
<el-button type="primary" @click="doCancel">冲销</el-button>
|
|
</template>
|
|
</avue-crud>
|
|
</basic-container>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {pageForCancel, cancelCloseDocument, saleReturnCancel} from '@/api/wms/document-cancel';
|
|
import {isBlank} from "@/util/string";
|
|
import {hideLoading, showLoading} from '@/const/loading';
|
|
import {formatterConst, tableOption} from '@/const/crud/wms/document-cancel';
|
|
import {mapGetters} from 'vuex';
|
|
|
|
export default {
|
|
name: 'document-cancel',
|
|
data() {
|
|
return {
|
|
searchForm: {},
|
|
tableData: [],
|
|
tableSelection: [],
|
|
changeStamp: 0,
|
|
page: {
|
|
total: 0, // 总页数
|
|
currentPage: 1, // 当前页数
|
|
pageSize: 20 // 每页显示多少条
|
|
},
|
|
tableLoading: false,
|
|
tableOption: tableOption,
|
|
formatterConst: formatterConst,
|
|
dialogVisible: false,
|
|
onEdit: false,
|
|
formObj: {},
|
|
};
|
|
},
|
|
computed: {
|
|
...mapGetters(['permissions']),
|
|
permissionList() {
|
|
return {
|
|
addBtn: false,
|
|
delBtn: false,
|
|
editBtn: false
|
|
};
|
|
}
|
|
},
|
|
methods: {
|
|
// 列表查询
|
|
getList(page, params) {
|
|
let me = this;
|
|
if (!params || isBlank(params.documentNo)) {
|
|
return me.$message.error("内部单号不能为空");
|
|
} else {
|
|
me.tableLoading = true;
|
|
pageForCancel(Object.assign({
|
|
current: page.currentPage,
|
|
size: page.pageSize
|
|
}, params, me.searchForm)).then(response => {
|
|
me.tableData = response.data.data.records;
|
|
me.page.total = response.data.data.total;
|
|
me.tableLoading = false;
|
|
}).catch(() => {
|
|
me.tableLoading = false;
|
|
});
|
|
}
|
|
},
|
|
// 每页条数改变事件
|
|
sizeChange(pageSize) {
|
|
this.page.pageSize = pageSize;
|
|
},
|
|
// 当前页发生改变事件
|
|
currentChange(current) {
|
|
this.page.currentPage = current;
|
|
},
|
|
// 查询事件
|
|
searchChange(form, done) {
|
|
this.searchForm = form;
|
|
this.page.currentPage = 1;
|
|
this.getList(this.page, form);
|
|
done();
|
|
},
|
|
searchReset(form, done) {
|
|
this.tableData = [];
|
|
done();
|
|
},
|
|
// 刷新事件
|
|
refreshChange() {
|
|
this.getList(this.page,this.searchForm);
|
|
},
|
|
selectionChange(rows) {
|
|
this.tableSelection = rows;
|
|
},
|
|
doCancel() {
|
|
let me = this;
|
|
if (me.tableData.length === 0) {
|
|
return me.$message.error("没有待冲销数据");
|
|
} else if (me.tableData[0].state === "CANCEL") {
|
|
return me.$message.error("单据已冲销");
|
|
} else {
|
|
let documentNo = me.tableData[0].documentNo;
|
|
let documentType = me.tableData[0].documentType;
|
|
let fun;
|
|
switch (documentType) {
|
|
case "PURCHASE_RETURN":
|
|
case "COST_CENTER_RECEIVE":
|
|
case "SCRAP_OUT":
|
|
case "OUTSOURCING":
|
|
case "ENGINEER_RECEIVE":
|
|
fun = cancelCloseDocument;
|
|
break;
|
|
case "SALES_RETURN":
|
|
fun = saleReturnCancel;
|
|
break;
|
|
default:
|
|
return me.$message.error("不支持的单据类型");
|
|
}
|
|
me.tableLoading = true;
|
|
fun(documentNo).then(resp => {
|
|
me.tableLoading = false;
|
|
me.$message.success("冲销成功");
|
|
me.refreshChange();
|
|
}).catch(() => {
|
|
me.tableLoading = false;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|