xiazhengtongxue
2026-01-04 46908c0f79e7aab8a3fa41bfdcd8390bbc3659f2
ÏîÄ¿´úÂë/WCSClient/src/extension/taskinfo/task.js
@@ -1,83 +1,142 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import gridBody from './extend/taskExecuteDetail.vue'
import gridBody from "./extend/taskExecuteDetail.vue";
let extension = {
    components: {
        //查询界面扩展组件
        gridHeader: '',
        gridBody: gridBody,
        gridFooter: '',
        //新建、编辑弹出框扩展组件
        modelHeader: '',
        modelBody: '',
        modelFooter: ''
  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();
          });
        };
      }
      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 '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">查看</i>';
        },
        click: (row) => {
          this.$refs.gridBody.open(row);
        },
      });
    },
    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;
            //扩展页面初始化操作
            this.columns.push({
                field: '操作',
                title: '操作',
                width: 70,
                fixed: 'right',
                align: 'center',
                formatter: (row) => {
                    return (
                        '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">查看</i>'
                    );
                },
                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)
        }
    }
    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;