wangxinhui
2025-02-18 55371a66a36cd00c717f223eda8321ccb16a997d
WMS,前端更新
已修改7个文件
已添加13个文件
437 ■■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/145d245b-2e74-4251-bcdf-c6982c88217d.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1ecaf9f0-bb7f-4dc0-8819-5392f594923e.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2ea398b8-de19-4e5a-87af-08d6c00ecef6.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a9c0dfed-47b1-4369-84a6-30d57b993b04.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/config/buttons.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/extension/inbound/returnOrder.js 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/router/viewGird.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/16a8d927-ff5a-4742-82f5-ded128fce3b7.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1c140c09-71a0-4360-a467-b251ee5095f3.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d20b0a40-35c0-47eb-8b0a-71b087f6651e.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d9d071a5-d4c7-4ac6-8365-fb73d8cfa365.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/4_淮安项目IP统计.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/145d245b-2e74-4251-bcdf-c6982c88217d.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1ecaf9f0-bb7f-4dc0-8819-5392f594923e.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2ea398b8-de19-4e5a-87af-08d6c00ecef6.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a9c0dfed-47b1-4369-84a6-30d57b993b04.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/config/buttons.js
@@ -180,6 +180,15 @@
    onClick: function () {
    }
},
{
    name: "创 å»º é€€ è´§ å…¥ åº“ å•",
    icon: '',
    class: '',
    value: 'CreateReturnInOrder',
    type: 'success',
    onClick: function () {
    }
},
]
export default buttons
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/extension/inbound/returnOrder.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
    components: {
      //查询界面扩展组件
      gridHeader: '',
      gridBody: '',
      gridFooter: '',
      //新建、编辑弹出框扩展组件
      modelHeader: '',
      modelBody: '',
      modelFooter: ''
    },
    tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    methods: {
       //下面这些方法可以保留也可以删除
      onInit() {
        let InOrder = this.buttons.find(x => x.value == 'CreateReturnInOrder');
        if (InOrder) {
          InOrder.onClick = function () {
            this.$confirm("是否确认退库","退库警告",{
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
                center: true,
                }).then(() => {
                    let rows = this.$refs.table.getSelected();
                    if (rows.length == 0) return this.$error("请选择数据!");
                    if (rows.length > 1) return this.$error("请选择单条数据!");
                    var keys = rows.map(x => { return x.id });
                    this.http
                    .post("api/ReturnOrder/IsReturnCreateInOrder?returnId="+keys[0], null, "数据处理中")
                    .then((x) => {
                        if (!x.status) return this.$message.error(x.message);
                        this.$message.success("操作成功");
                        this.refresh();
                    });
            });
          }
        }
      },
      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;
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -180,6 +180,10 @@
    path: '/mesOutboundOrder',
    name: 'mesOutboundOrder',
    component: () => import('@/views/outbound/mesOutboundOrder.vue')
  }, {
    path: '/returnOrder',
    name: 'returnOrder',
    component: () => import('@/views/inbound/returnOrder.vue')
  }
]
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,259 @@
<template>
    <view-grid
      ref="grid"
      :columns="columns"
      :detail="detail"
      :editFormFields="editFormFields"
      :editFormOptions="editFormOptions"
      :searchFormFields="searchFormFields"
      :searchFormOptions="searchFormOptions"
      :table="table"
      :extend="extend"
    >
    </view-grid>
  </template>
        <script>
  import extend from "@/extension/inbound/returnOrder.js";
  import { ref, defineComponent } from "vue";
  export default defineComponent({
    setup() {
      const table = ref({
        key: "id",
        footer: "Foots",
        cnName: "退料单",
        name: "returnOrder",
        url: "/ReturnOrder/",
        sortName: "id",
      });
      const searchFormFields = ref({
        orderNo:''
      });
      const searchFormOptions = ref([
        [
        { title: "单据编号", field: "orderNo", type: "like" },
        ]
      ]);
      const editFormFields = ref({
      });
      const editFormOptions = ref([
      ]);
      const columns = ref([
        {
          field: "id",
          title: "Id",
          type: "int",
          width: 90,
          hidden: true,
          readonly: true,
          require: true,
          align: "left",
        },
        {
          field: "orderNo",
          title: "退料单号",
          type: "string",
          width: 150,
          align: "left",
          link: true,
        },
        {
          field: "returnOrderType",
          title: "订单类型",
          type: "string",
          width: 150,
          align: "left",
          bind: { key: "returnType", data: [] },
        },
        {
          field: "returnOrderStatus",
          title: "订单状态",
          type: "string",
          width: 120,
          align: "left",
          bind: { key: "returnStatus", data: [] },
        },
        {
          field: "isDev",
          title: "是否研发",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "warehouseId",
          title: "仓库",
          type: "string",
          width: 90,
          align: "left",
          bind:{key: "warehouses", data: []}
        },
        {
          field: "creater",
          title: "创建人",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "createDate",
          title: "创建时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "modifier",
          title: "修改人",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "modifyDate",
          title: "修改时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "remark",
          title: "备注",
          type: "string",
          width: 100,
          align: "left",
        },
      ]);
      const detail = ref({
        cnName: "退料单明细",
        table: "Dt_ReturnOrderDetail",
        columns: [
          {
            field: "id",
            title: "Id",
            type: "int",
            width: 90,
            hidden: true,
            readonly: true,
            require: true,
            align: "left",
          },
          {
            field: "returnId",
            title: "收货单主键",
            type: "string",
            width: 90,
            align: "left",
            hidden: true,
          },
          {
            field: "pickCode",
            title: "申请发料单号",
            type: "select",
            width: 160,
            align: "left",
            required: true,
          },
          {
            field: "applyRow",
            title: "申请单号行号",
            type: "select",
            width: 150,
            align: "left",
            required: true,
          },
          {
            field: "rowId",
            title: "退料行号",
            type: "string",
            width: 100,
            align: "left",
          },
          {
            field: "orderDetailStatus",
            title: "明细单状态",
            type: "select",
            type: "string",
            width: 100,
            align: "left",
            bind: { key: "returnStatus", data: [] },
          },
          {
            field: "mCode",
            title: "物料编码",
            type: "string",
            width: 90,
            align: "left",
            required: true,
          },
          {
            field: "materielName",
            title: "物料名称",
            type: "string",
            width: 90,
            align: "left"
          },
          {
            field: "materielSpec",
            title: "物料规格",
            type: "int",
            width: 90,
            align: "left",
          },
          {
            field: "creater",
            title: "创建人",
            type: "string",
            width: 90,
            align: "left",
          },
          {
            field: "createDate",
            title: "创建时间",
            type: "datetime",
            width: 160,
            align: "left",
          },
          {
            field: "modifier",
            title: "修改人",
            type: "string",
            width: 100,
            align: "left",
          },
          {
            field: "modifyDate",
            title: "修改时间",
            type: "datetime",
            width: 160,
            align: "left",
          },
          {
            field: "remark",
            title: "备注",
            type: "string",
            width: 100,
            align: "left",
          },
        ],
        sortName: "id",
        key: "id",
      });
      return {
        table,
        extend,
        editFormFields,
        editFormOptions,
        searchFormFields,
        searchFormOptions,
        columns,
        detail,
      };
    },
  });
  </script>
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/16a8d927-ff5a-4742-82f5-ded128fce3b7.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1c140c09-71a0-4360-a467-b251ee5095f3.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d20b0a40-35c0-47eb-8b0a-71b087f6651e.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d9d071a5-d4c7-4ac6-8365-fb73d8cfa365.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs
@@ -25,5 +25,6 @@
        string CreateCodeByRule(string ruleCode);
        ERPIssueModel GetERPIssueModel(Dt_OutboundOrder outboundOrder, string WarehouseCode);
        WebResponseContent PushERPOutBound(int outId, string WarehouseCode);
        WebResponseContent OutUpOrderGetFLOrder();
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -687,5 +687,29 @@
            }
            return content;
        }
        public WebResponseContent OutUpOrderGetFLOrder()
        {
            WebResponseContent  content = new WebResponseContent();
            try
            {
                //获取出库单
                List<Dt_OutboundOrder> outboundOrders = BaseDal.QueryData(x => x.OrderStatus == OutOrderStatusEnum.出库完成.ObjToInt() && x.UpFLOrderNo == null);
                List<Sys_Log> logs = BaseDal.Db.Queryable<Sys_Log>().Where(x => x.RequestParam.Contains("领料出库通知单") &&  x.Id > 14606).ToList();
                foreach (var item in outboundOrders)
                {
                    Sys_Log? log = logs.FirstOrDefault(x=>x.RequestParam.Contains(item.UpperOrderNo));
                    if (log == null) { continue; }
                    ERPBaseModel <ERPIssueModel>  baseModel= log.RequestParam.DeserializeObject<ERPBaseModel<ERPIssueModel>>();
                    item.UpFLOrderNo = baseModel.Data.Code;
                }
                BaseDal.UpdateData(outboundOrders);
                content.OK();
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -229,6 +229,54 @@
                            }
                        }
                        break;
                    case "returnStatus":
                        {
                            List<object> data = new List<object>();
                            Type type = typeof(ReturnOrderStatusEnum);
                            List<int> enums = Enum.GetValues(typeof(ReturnOrderStatusEnum)).Cast<int>().ToList();
                            int index = 0;
                            foreach (var item in enums)
                            {
                                FieldInfo? fieldInfo = typeof(ReturnOrderStatusEnum).GetField(((ReturnOrderStatusEnum)item).ToString());
                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                if (description != null)
                                {
                                    data.Add(new { key = item.ToString(), value = description.Description });
                                }
                                else
                                {
                                    data.Add(new { key = item.ToString(), value = item.ToString() });
                                }
                                index++;
                            }
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "returnType":
                        {
                            List<object> data = new List<object>();
                            Type type = typeof(ReturnOrderTypeEnum);
                            List<int> enums = Enum.GetValues(typeof(ReturnOrderTypeEnum)).Cast<int>().ToList();
                            int index = 0;
                            foreach (var item in enums)
                            {
                                FieldInfo? fieldInfo = typeof(ReturnOrderTypeEnum).GetField(((ReturnOrderTypeEnum)item).ToString());
                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                if (description != null)
                                {
                                    data.Add(new { key = item.ToString(), value = description.Description });
                                }
                                else
                                {
                                    data.Add(new { key = item.ToString(), value = item.ToString() });
                                }
                                index++;
                            }
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "taskType":
                        {
                            List<object> data = new List<object>();
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs
@@ -74,5 +74,13 @@
        {
            return Service.PushERPOutBound(outId, WarehouseCode);
        }
        /// <summary>
        /// ä½¿ç”¨æ ¹æ®ä¸Šæ¸¸é¢†æ–™å‡ºåº“单号获取日志发料单号
        /// </summary>
        [HttpPost, Route("OutUpOrderGetFLOrder"), AllowAnonymous]
        public WebResponseContent OutUpOrderGetFLOrder()
        {
            return Service.OutUpOrderGetFLOrder();
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -6,7 +6,7 @@
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus",
  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,returnStatus,returnType",
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
ÏîÄ¿×ÊÁÏ/4_»´°²ÏîÄ¿IPͳ¼Æ.xlsx
Binary files differ