huangxiaoqiang
2025-10-27 387731cab892804912e68cb91e6fb804411c4756
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx
@@ -8,12 +8,12 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
// import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue";
import gridHeader from './extend/printView.vue'
// import gridBody from "./extend/SupplementationData.vue"
// import gridHeader from './extend/printView.vue'
// import gridBody from './extend/OtherOutBound.vue'
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: gridHeader,
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
@@ -27,6 +27,82 @@
    //下面这些方法可以保留也可以删除
    onInit() {
      this.detailOptions.buttons.unshift({
        name: '其他出库', //按钮名称
        icon: '', //按钮图标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) //错误提示
        //     }
        //   })
        // }
        onClick: () => {
          let row = this.$refs.table.getSelected()
          console.log(row);
        }
      });
      this.detailOptions.buttons.unshift({
        name: '盘点出库', //按钮名称
        icon: '', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
        type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
        onClick: function (e) {
          // this.$Message.success('点击了按钮');
          console.log(e);
          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.columns.push({
        field: '操作',
        title: '操作',
        width: 90,
        fixed: 'right',
        align: 'center',
        formatter: (row) => {
          return (
            '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">盘点出库</i>'
          );
        },
        click: (row) => {
          console.log(row);
          this.http.post(`/api/Task/OutBoundTaskAsync?palletCode=${row.palletCode}`, {}, "正在生成任务").then((res) => {
            //示例:调用后台接口
            if (res.status) {
              this.$Message.success(row[0].palletCode + "出库成功");
              this.refresh();
            } else {
              this.$Message.error(res.message) //错误提示
              this.refresh();
            }
          })
        }
      });
      // this.columns.push({
      //   title: "操作",
      //   field: "操作",
@@ -60,13 +136,27 @@
        if (column.field == 'floor') {
            const floorMap = {
              '1F': '一楼',
              '2F': '二楼',
            };
            column.formatter = (row) => {
              return floorMap[row?.locationInfo?.floor] || '未知楼层'
            }
          const floorMap = {
            '1F': '一楼',
            '2F': '二楼',
          };
          column.formatter = (row) => {
            return floorMap[row?.locationInfo?.floor] || ''
          }
        }
        if (column.field == 'areaId') {
          const floorMap = {
            '1': '一楼堆垛机区域',
            '2': '一楼AGV出库缓存区',
            '3': '一楼AGV立库缓存区',
            '4': '一楼AGV入库缓存区',
            '5': '二楼B4-G4缓存区',
            '6': '二楼B5-G5缓存区',
          };
          column.formatter = (row) => {
            return floorMap[row?.locationInfo?.areaId] || ''
          }
        }
        if (column.field == 'locationStatus') {
          const statusMap = {
@@ -77,7 +167,7 @@
            '4': '无货禁用'
          };
          column.formatter = (row) => {
            return statusMap[row?.locationInfo?.locationStatus] || '未知状态';
            return statusMap[row?.locationInfo?.locationStatus] || '';
          }
        }
@@ -96,7 +186,6 @@
      return true
    },
    searchAfter(result) {
      console.log(result)
      return true
    },
    addBefore(formData) {
@@ -109,10 +198,41 @@
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row) //单击行时选中当前行;
      this.$refs.table.$refs.table.toggleRowSelection(row) //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      const isAdd = this.currentAction == 'Add';//判断是否为新建操作
      //隐藏明细表按钮
      this.detailOptions.buttons.forEach((btn) => {
        if (btn.name == '添加行') {
          btn.hidden = true;
          //或者设置只读
          //btn.readonly=true;
        }
      });
      const isDel = this.currentAction == 'Add';//判断是否为新建操作
      //隐藏明细表按钮
      this.detailOptions.buttons.forEach((btn) => {
        if (btn.name == '删除行') {
          btn.hidden = true;
          //或者设置只读
          //btn.readonly=true;
        }
      });
      this.detailOptions.buttons.forEach((btn) => {
        if (btn.name == '导入') {
          btn.hidden = true;
          //或者设置只读
          //btn.readonly=true;
        }
      });
      this.detailOptions.buttons.forEach((btn) => {
        if (btn.name == '导出') {
          btn.hidden = true;
          //或者设置只读
          //btn.readonly=true;
        }
      });
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值