// 自定义扩展业务代码
|
import gridBody from "./extend/OrderStockTake.vue";
|
import gridHeader from "./extend/TakeStockSelect.vue";
|
import gridFooter from "./extend/StockTakeGroupPallet.vue";
|
|
let extension = {
|
components: {
|
// 查询界面扩展组件:将自定义弹窗注册为 gridBody 组件
|
gridHeader: gridHeader,
|
gridBody: gridBody, // 对应你的盘点弹窗组件
|
gridFooter: gridFooter,
|
// 新建/编辑弹出框扩展组件(此处不用,留空)
|
modelHeader: '',
|
modelBody: '',
|
modelFooter: ''
|
},
|
tableAction: '', // 无需指定表名(默认适用当前页面表格)
|
buttons: { view: [], box: [], detail: [] }, // 扩展按钮(如需额外添加可在此配置)
|
methods: {
|
onInit() {
|
let OrderStockTakeBtn = this.buttons.find(x => x.value === 'OrderStockTake');
|
if (OrderStockTakeBtn) {
|
// 重写按钮点击事件
|
OrderStockTakeBtn.onClick = function () {
|
this.$refs.gridBody.open();
|
};
|
}
|
let OutOrderStockTakeBtn = this.buttons.find(x => x.value === 'OutOrderStockTake');
|
if (OutOrderStockTakeBtn) {
|
// 重写按钮点击事件
|
OutOrderStockTakeBtn.onClick = function () {
|
|
this.$refs.gridHeader.open();
|
};
|
}
|
let StockTakeGroupPalletBtn = this.buttons.find(x => x.value === 'StockTakeGroupPallet');
|
if (StockTakeGroupPalletBtn) {
|
// 重写按钮点击事件
|
StockTakeGroupPalletBtn.onClick = function () {
|
|
this.$refs.gridFooter.open();
|
};
|
}
|
|
// 4. 监听自定义弹窗的事件(同步主页面数据)
|
this.$nextTick(() => {
|
const stockTakeComp = this.$refs.gridBody;
|
if (stockTakeComp) {
|
// 监听弹窗的 "refresh" 事件(盘点完成后刷新主页面)
|
stockTakeComp.$on('refresh', () => {
|
this.$refs.table.reload(); // 刷新表格数据
|
});
|
|
// 监听弹窗的 "box-returned" 事件(料箱回库后可按需处理)
|
stockTakeComp.$on('box-returned', (boxNo) => {
|
this.$success(`料箱【${boxNo}】回库成功,表格将刷新!`);
|
this.$refs.table.reload(); // 回库后也刷新表格(可选,根据业务需求)
|
});
|
}
|
});
|
},
|
onInited() {
|
// 框架初始化完成后执行(如需配置明细表可在此操作)
|
},
|
searchBefore(param) {
|
// 查询前拦截:可添加额外查询条件(如权限过滤)
|
return true;
|
},
|
searchAfter(result) {
|
// 查询后数据处理(如格式化日期、状态显示)
|
return true;
|
},
|
addBefore(formData) {
|
// 新建保存前处理(此处不用)
|
return true;
|
},
|
updateBefore(formData) {
|
// 编辑保存前处理(此处不用)
|
return true;
|
},
|
rowClick({ row, column, event }) {
|
// 单击行选中当前行(优化用户体验)
|
this.$refs.table.$refs.table.toggleRowSelection(row);
|
},
|
modelOpenAfter(row) {
|
// 新建/编辑弹窗打开后处理(此处不用)
|
}
|
}
|
};
|
|
export default extension;
|