//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码 import gridBody from "./extend/taskExecuteDetail.vue"; let extension = { components: { //查询界面扩展组件 gridHeader: "", gridBody: gridBody, gridFooter: "", //新建、编辑弹出框扩展组件 modelHeader: "", modelBody: "", modelFooter: "", }, tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写) buttons: { view: [], box: [], detail: [] }, //扩展的按钮 methods: { //下面这些方法可以保留也可以删除 onInit() { // this.$Notice.success({ title: this.detailOptions.cnName + ',查询结果', desc: '返回的对象:' + JSON.stringify(data) }); var previousButton = this.buttons.find((x) => x.value == "Previous"); if (previousButton) previousButton.hidden = true; var nextButton = this.buttons.find((x) => x.value == "Next"); if (nextButton) nextButton.hidden = true; var recoveryButton = this.buttons.find((x) => x.value == "TaskRecovery"); if (recoveryButton) recoveryButton.hidden = true; let LightB2Btn = this.buttons.find((x) => x.value == "LightB2"); if (LightB2Btn) { LightB2Btn.onClick = function () { let rows = this.$refs.table.getSelected(); this.http.post("api/Task/InitLight", "播种墙启动中").then((x) => { if (!x.status) return this.$message.error(x.message); this.$message.success("操作成功"); this.refresh(); }); }; } // 添加WMS异常恢复按钮功能 let WmsRecoveryBtn = this.buttons.find((x) => x.value == "WmsRecovery"); if (WmsRecoveryBtn) { WmsRecoveryBtn.onClick = () => { this.$confirm("确定要执行WMS异常恢复吗?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { // 直接调用恢复接口,不需要参数 this.http .post( `api/Task/WmsRecovery`, // WMS异常恢复接口 null, // 不需要请求体 "WMS异常恢复中", ) .then((x) => { if (!x.status) return this.$message.error(x.message); this.$message.success("WMS异常恢复成功"); }) .catch((error) => { this.$message.error("操作失败:" + error.message); }); }) .catch(() => { this.$message.info("已取消恢复操作"); }); }; } // 添加任务恢复按钮功能 let TaskRecoveryBtn = this.buttons.find( (x) => x.value == "ExceptionTask", ); if (TaskRecoveryBtn) { TaskRecoveryBtn.onClick = function () { let rows = this.$refs.table.getSelected(); if (rows.length == 0) return this.$error("请选择数据!"); if (rows.length > 1) { return this.$error("一次只能操作一条数据!"); } this.$confirm("确定要恢复该任务吗?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { const taskNum = rows[0].taskNum; this.http .post( `api/Task/ResetAllExceptionTask?taskNum=${taskNum}`, null, "任务恢复中", ) .then((x) => { if (!x.status) return this.$message.error(x.message); this.$message.success("任务恢复成功"); this.$refs.table.refresh(); // 建议添加刷新表格 }); }) .catch(() => { this.$message.info("已取消恢复操作"); }); }; } let TaskCancelBtn = this.buttons.find((x) => x.value == "TaskCancel"); if (TaskCancelBtn) { TaskCancelBtn.onClick = function () { let rows = this.$refs.table.getSelected(); if (rows.length == 0) return this.$error("请选择数据!"); if (rows.length > 1) { return this.$error("一次只能操作一条数据!"); } this.$confirm("确定货箱取消吗?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }).then(() => { const taskNum = rows[0].taskNum; this.http .post( `api/Task/ManualTaskCancellation?taskNum=${taskNum}`, null, "任务取消中", ) .then((x) => { if (!x.status) return this.$message.error(x.message); this.$message.success("操作成功"); }); }); }; } let TaskCompletedBtn = this.buttons.find( (x) => x.value == "TaskCompleted", ); if (TaskCompletedBtn) { TaskCompletedBtn.onClick = function () { let rows = this.$refs.table.getSelected(); if (rows.length == 0) return this.$error("请选择数据!"); if (rows.length > 1) { return this.$error("一次只能操作一条数据!"); } this.$confirm("确定货箱放在目标地址了吗?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { const taskNum = rows[0].taskNum; // 方法1:发送JSON数据(需要后端支持[FromBody]) // this.http.post("api/Task/RecTaskCompleted", { taskNum }, "任务完成中") // 或方法2:URL参数方式 this.http .post( `api/Task/RecTaskCompleted?taskNum=${taskNum}`, null, "任务完成中", ) // 或方法3:表单数据方式 // let formData = new FormData(); // formData.append('taskNum', taskNum); // this.http.post("api/Task/RecTaskCompleted", formData, "任务完成中") .then((x) => { if (!x.status) return this.$message.error(x.message); this.$message.success("操作成功"); this.refresh(); }); }) .catch(() => { this.$message({ type: "info", message: "已取消操作", }); }); }; } //扩展页面初始化操作 this.columns.push({ field: "操作", title: "操作", width: 70, fixed: "right", align: "center", formatter: (row) => { return '查看'; }, click: (row) => { this.$refs.gridBody.open(row); }, }); }, onInited() { //框架初始化配置后 //如果要配置明细表,在此方法操作 //this.detailOptions.columns.forEach(column=>{ }); }, searchBefore(param) { //界面查询前,可以给param.wheres添加查询参数 //返回false,则不会执行查询 return true; }, searchAfter(result) { //查询后,result返回的查询数据,可以在显示到表格前处理表格的值 return true; }, addBefore(formData) { //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值 return true; }, updateBefore(formData) { //编辑保存前formData为对象,包括明细表、删除行的Id return true; }, rowClick({ row, column, event }) { //查询界面点击行事件 // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行; }, modelOpenAfter(row) { //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据 //(1)判断是编辑还是新建操作: this.currentAction=='Add'; //(2)给弹出框设置默认值 //(3)this.editFormFields.字段='xxx'; //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值 //看不懂就把输出看:console.log(this.editFormOptions) }, }, }; export default extension;