/***************************************************************************************** 
 | 
 **  Author:jxx 2022 
 | 
 **  QQ:283591387 
 | 
 **完整文档见:http://v2.volcore.xyz/document/api 【代码生成页面ViewGrid】 
 | 
 **常用示例见:http://v2.volcore.xyz/document/vueDev 
 | 
 **后台操作见:http://v2.volcore.xyz/document/netCoreDev 
 | 
 *****************************************************************************************/ 
 | 
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码 
 | 
import gridHeader from './demo_Product/Dt_TaskExecuteDetail.vue' 
 | 
let extension = { 
 | 
  components: { 
 | 
    //查询界面扩展组件 
 | 
    gridHeader: gridHeader, 
 | 
    gridBody: '', 
 | 
    gridFooter: '', 
 | 
    //新建、编辑弹出框扩展组件 
 | 
    modelHeader: '', 
 | 
    modelBody: '', 
 | 
    modelFooter: '' 
 | 
  }, 
 | 
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写) 
 | 
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮 
 | 
  methods: { 
 | 
    //下面这些方法可以保留也可以删除 
 | 
    onInit() { 
 | 
  
 | 
      this.columns.forEach(x => { 
 | 
        if (x.field == "errorMessage") { 
 | 
          x.cellStyle = (row, rowIndex, columnIndex) => { 
 | 
            if (row.errorMessage == null||row.errorMessage=="") { 
 | 
              return { background: "White", color: "Black" } 
 | 
            } 
 | 
            else{ 
 | 
              return { background: "#FF4500", color: "Black" } 
 | 
            } 
 | 
          } 
 | 
        } 
 | 
      }) 
 | 
  
 | 
      //框架初始化配置前, 
 | 
      let TaskHandCompleteBtn=this.buttons.find(x=>x.value=='TaskHandComplete'); 
 | 
      if(TaskHandCompleteBtn){ 
 | 
        TaskHandCompleteBtn.onClick=function(){ 
 | 
          let row = this.$refs.table.getSelected() //获取选中的行 
 | 
          if (row <= 0) { 
 | 
            //如果没有选中行 
 | 
            this.$Message.error('请选择一行数据') 
 | 
            return 
 | 
          } 
 | 
          let taskNum = row[0].taskNum 
 | 
          this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "正在完成任务").then((res) => { 
 | 
            //示例:调用后台接口 
 | 
            if (res.status) { 
 | 
              this.$Message.success('任务完成'); 
 | 
              this.refresh(); 
 | 
            } else { 
 | 
              this.$Message.error(res.message) //错误提示 
 | 
              this.refresh(); 
 | 
            } 
 | 
          }) 
 | 
        } 
 | 
      } 
 | 
      //示例:在按钮的最前面添加一个按钮 
 | 
      // this.buttons.unshift({ 
 | 
      //   //也可以用push或者splice方法来修改buttons数组 
 | 
      //   name: '任务完成', //按钮名称 
 | 
      //   icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档) 
 | 
      //   type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button 
 | 
      //   onClick: function () { 
 | 
      //     // this.$Message.success('点击了按钮'); 
 | 
      //     let row = this.$refs.table.getSelected() //获取选中的行 
 | 
      //     if (row <= 0) { 
 | 
      //       //如果没有选中行 
 | 
      //       this.$Message.error('请选择一行数据') 
 | 
      //       return 
 | 
      //     } 
 | 
      //     let taskNum = row[0].taskNum 
 | 
      //     this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "正在完成任务").then((res) => { 
 | 
      //       //示例:调用后台接口 
 | 
      //       if (res.status) { 
 | 
      //         this.$Message.success('任务完成') 
 | 
      //       } else { 
 | 
      //         this.$Message.error(res.message) //错误提示 
 | 
      //       } 
 | 
      //     }) 
 | 
      //   } 
 | 
      // }) 
 | 
  
 | 
      //示例:设置修改新建、编辑弹出框字段标签的长度 
 | 
      this.boxOptions.labelWidth = 150 
 | 
  
 | 
      //显示提示 
 | 
      this.columns.forEach((col) => { 
 | 
        col.showOverflowTooltip = true 
 | 
      }) 
 | 
  
 | 
      //示例:自定义表格列 
 | 
      //表格上添加自定义按钮 
 | 
      this.columns.push({ 
 | 
        title: '操作', 
 | 
        field: '操作', 
 | 
        width: 150, 
 | 
        align: 'left', // 'center', 
 | 
        render: (h, { row, column, index }) => { 
 | 
          return ( 
 | 
            <div> 
 | 
              <el-button 
 | 
                onClick={($e) => { 
 | 
                  // this.$refs.table.load(); 
 | 
                  // console.log(this.$refs.table); 
 | 
                  this.$refs.gridHeader.openModel1(row) 
 | 
                }} 
 | 
                type="primary" 
 | 
                plain 
 | 
                style="height:26px; padding: 10px !important;" 
 | 
              > 
 | 
                查看执行信息 
 | 
              </el-button> 
 | 
            </div> 
 | 
          ) 
 | 
        } 
 | 
      }) 
 | 
    }, 
 | 
    btn1Click(row, column, index, $e) { 
 | 
      $e.stopPropagation() 
 | 
      this.$refs.gridHeader.openModel1(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 
 |