schangxiang@126.com
2024-04-24 bd916670e7915ec914d71ed7daadbe8eb5fd0835
Merge branch 'master' of http://222.71.245.114:9086/r/iWare_RawMaterialWarehouse
已修改20个文件
254 ■■■■■ 文件已修改
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterial.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Enum/Wms/WmsMaterialEnum.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialImport.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue
@@ -29,8 +29,10 @@
        <a-form-item label="ERP代码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入ERP代码" v-decorator="['erpCode', {rules: [{required: true, message: '请输入ERP代码!'}]}]" />
        </a-form-item>
        <a-form-item label="所属仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入所属仓库" v-decorator="['warehouseId', {rules: [{required: true, message: '请输入所属仓库!'}]}]" />
        <a-form-item label="所属仓库" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择所属仓库" v-decorator="['warehouseId', {rules: [{ required: true, message: '请选择所属仓库!' }]}]">
            <a-select-option v-for="(item,index) in warehouseIdData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="零件级管控" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked'}]" />
@@ -74,6 +76,7 @@
  xs: { span: 24 },
  sm: { span: 15 }
  },
  warehouseIdData: [],
        visible: false,
        confirmLoading: false,
        form: this.$form.createForm(this)
@@ -87,6 +90,8 @@
        this.$nextTick(() => {
        });
        const warehouseIdOption = this.$options
        this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type')
      },
      /**
       * 提交表单
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue
@@ -29,8 +29,10 @@
        <a-form-item label="ERP代码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入ERP代码" v-decorator="['erpCode', {rules: [{required: true, message: '请输入ERP代码!'}]}]" />
        </a-form-item>
        <a-form-item label="所属仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入所属仓库" v-decorator="['warehouseId', {rules: [{required: true, message: '请输入所属仓库!'}]}]" />
        <a-form-item label="所属仓库" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择所属仓库" v-decorator="['warehouseId', {rules: [{ required: true, message: '请选择所属仓库!' }]}]">
            <a-select-option v-for="(item,index) in warehouseIdData" :key="index" :value="Number(item.code)">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="零件级管控" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked'}]" />
@@ -77,6 +79,7 @@
  sm: { span: 15 }
  },
  record: {},
  warehouseIdData: [],
        visible: false,
        confirmLoading: false,
        form: this.$form.createForm(this)
@@ -92,6 +95,8 @@
        });
        //深度拷贝 移除VUE的监听,防止INDEX页面值变动
        this.record = JSON.parse(JSON.stringify(record))
        const warehouseIdOption = this.$options
        this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type')
        this.$nextTick(() => {
          this.form.setFieldsValue(
            {
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue
@@ -39,10 +39,11 @@
                <a-form-item label="ERP代码">
                  <a-input v-model="queryParam.erpCode" allow-clear placeholder="请输入ERP代码"/>
                </a-form-item>
              </a-col>
              <a-col :md="8" :sm="24">
              </a-col><a-col :md="8" :sm="24">
                <a-form-item label="所属仓库">
                  <a-input v-model="queryParam.warehouseId" allow-clear placeholder="请输入所属仓库"/>
                  <a-select :allowClear="true" style="width: 100%" v-model="queryParam.warehouseId" placeholder="请选择所属仓库">
                    <a-select-option v-for="(item,index) in warehouseIdData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
            <a-col :md="8" :sm="24">
@@ -168,6 +169,9 @@
            <a-button type="primary" v-if="hasPerm('WmsArea:add')" icon="plus" @click="$refs.addForm.add()">新增库区信息</a-button>
        </div>
        </template>
          <span slot="warehouseIdscopedSlots" slot-scope="text">
            {{ 'area_type' | dictType(text) }}
            </span>
          <span slot="isBarcodeLevelControlscopedSlots" slot-scope="text">
            <div v-if="text===true ">
                <a-tag color="green">是</a-tag>
@@ -438,7 +442,8 @@
    }
    },
    sorter: true,
    dataIndex: 'warehouseId'
    dataIndex: 'warehouseId',
    scopedSlots: { customRender: 'warehouseIdscopedSlots' }
    },
    {
    title: '零件级管控',
@@ -675,6 +680,7 @@
    return res.data
    })
    },
        warehouseIdData: [],
    selectedRowKeys: [],
    selectedRows: []
    }
@@ -701,6 +707,8 @@
    }
    });
    }
    const warehouseIdOption = this.$options
    this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type')
    const isBarcodeLevelControlOption = this.$options
    this.isBarcodeLevelControlData = isBarcodeLevelControlOption.filters['dictData']('yes_true_false')
    const isFIFOOption = this.$options
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue
@@ -17,9 +17,9 @@
        <a-form-item label="类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入类型ID!'}]}]" />
        </a-form-item>
        <a-form-item label="类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
        <!-- <a-form-item label="类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入类型名称" v-decorator="['containerTypeName', {rules: [{required: true, message: '请输入类型名称!'}]}]" />
        </a-form-item>
        </a-form-item> -->
        <a-form-item label="容器关系ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入容器关系ID" v-decorator="['packagingId', {rules: [{required: true, message: '请输入容器关系ID!'}]}]" />
        </a-form-item>
@@ -44,12 +44,12 @@
        <a-form-item label="载重上限" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入载重上限" v-decorator="['maxWeight']" />
        </a-form-item>
        <a-form-item label="父容器名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
        <!-- <a-form-item label="父容器名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入父容器名称" v-decorator="['parentContainerName']" />
        </a-form-item>
        <a-form-item label="父容器Id" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入父容器Id" v-decorator="['parentContainerId']" />
        </a-form-item>
        </a-form-item> -->
        <a-form-item label="是否虚拟" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input-number placeholder="请输入是否虚拟" style="width: 100%" v-decorator="['isVirtually']" />
        </a-form-item>
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -20,16 +20,13 @@
            <a-form-item label="ERP编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入ERP编号" v-decorator="['erpCode']" />
            </a-form-item>
            <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料类型名称" v-decorator="['materialTypeName']" />
            </a-form-item>
            <a-form-item label="物料类型描述" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料类型描述" v-decorator="['materialTypeDescr']" />
            </a-form-item>
            <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input-number placeholder="请输入物料类型" style="width: 100%" v-decorator="['materialType']" />
            </a-form-item>
            </a-form-item> -->
            <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-select style="width: 100%" placeholder="请选择物料类型" v-decorator="['materialType']">
@@ -47,9 +44,9 @@
            <a-form-item label="物料组" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料组" v-decorator="['materialGroup']" />
            </a-form-item>
            <a-form-item label="ABC分类名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="ABC分类名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入ABC分类名称" v-decorator="['aBCClassName']" />
            </a-form-item>
            </a-form-item> -->
            <a-form-item label="ABC分类" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input-number placeholder="请输入ABC分类" style="width: 100%" v-decorator="['aBCClass']" />
            </a-form-item>
@@ -77,12 +74,12 @@
            <a-form-item label="换算率" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入换算率" v-decorator="['translateRate']" />
            </a-form-item>
            <a-form-item label="批次属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="批次属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入批次属性规则" v-decorator="['batchRuleId']" />
            </a-form-item>
            <a-form-item label="控制属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入控制属性规则" v-decorator="['controlRuleId']" />
            </a-form-item>
            </a-form-item> -->
            <a-form-item label="是否禁用" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
            </a-form-item>
@@ -161,11 +158,6 @@
      })
    },
    callbacktab(e) {
      const {
        form: { validateFields }
      } = this
      // this.confirmLoading = true
//包装关系
      if (e == 6) {
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue
@@ -17,17 +17,18 @@
        <a-form-item label="库位别名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库位别名" v-decorator="['placeAlias']" />
        </a-form-item>
        <a-form-item label="库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input-number placeholder="请输入库位类型" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '请输入库位类型!'}]}]" />
        <a-form-item label="库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择库位类型" v-decorator="['placeType', {rules: [{ required: true, message: '请选择库位类型!' }]}]">
            <a-select-option v-for="(item,index) in placeTypeData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="库位类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库位类型名称" v-decorator="['placeTypeName']" />
        </a-form-item>
        <a-form-item label="存放单位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入存放单位" v-decorator="['stockUnit']" />
        </a-form-item>
        <a-form-item label="库位属性" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input-number placeholder="请输入库位属性" style="width: 100%" v-decorator="['placeStatus']" />
        <!-- <a-form-item label="库位类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库位类型名称" v-decorator="['placeTypeName', {rules: [{required: true, message: '请输入库位类型名称!'}]}]" />
        </a-form-item> -->
        <a-form-item label="库位属性" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择库位属性" v-decorator="['placeStatus', {rules: [{ required: true, message: '请选择库位属性!' }]}]">
            <a-select-option v-for="(item,index) in placeStatusData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="是否堆垛机库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" />
@@ -63,11 +64,11 @@
          <a-input placeholder="请输入库区编号" v-decorator="['areaCode']" />
        </a-form-item>
        <a-form-item label="所在库区" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入所在库区" v-decorator="['areaId']" />
          <a-input placeholder="请输入所在库区" v-decorator="['areaId', {rules: [{required: true, message: '请输入所在库区!'}]}]" />
        </a-form-item>
        <a-form-item label="库区名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
        <!-- <a-form-item label="库区名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库区名称" v-decorator="['areaName']" />
        </a-form-item>
        </a-form-item> -->
        <a-form-item label="检验码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入检验码" v-decorator="['verificationCode']" />
        </a-form-item>
@@ -137,6 +138,8 @@
  xs: { span: 24 },
  sm: { span: 15 }
  },
  placeTypeData: [],
  placeStatusData: [],
        visible: false,
        confirmLoading: false,
        form: this.$form.createForm(this)
@@ -150,6 +153,10 @@
        this.$nextTick(() => {
        });
        const placeTypeOption = this.$options
        this.placeTypeData = placeTypeOption.filters['dictData']('place_type')
        const placeStatusOption = this.$options
        this.placeStatusData = placeStatusOption.filters['dictData']('place_status')
      },
      /**
       * 提交表单
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue
@@ -17,17 +17,18 @@
        <a-form-item label="库位别名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库位别名" v-decorator="['placeAlias']" />
        </a-form-item>
        <a-form-item label="库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input-number placeholder="请输入库位类型" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '请输入库位类型!'}]}]" />
        <a-form-item label="库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择库位类型" v-decorator="['placeType', {rules: [{ required: true, message: '请选择库位类型!' }]}]">
            <a-select-option v-for="(item,index) in placeTypeData" :key="index" :value="Number(item.code)">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="库位类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库位类型名称" v-decorator="['placeTypeName']" />
          <a-input placeholder="请输入库位类型名称" v-decorator="['placeTypeName', {rules: [{required: true, message: '请输入库位类型名称!'}]}]" />
        </a-form-item>
        <a-form-item label="存放单位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入存放单位" v-decorator="['stockUnit']" />
        </a-form-item>
        <a-form-item label="库位属性" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input-number placeholder="请输入库位属性" style="width: 100%" v-decorator="['placeStatus']" />
        <a-form-item label="库位属性" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-select style="width: 100%" placeholder="请选择库位属性" v-decorator="['placeStatus', {rules: [{ required: true, message: '请选择库位属性!' }]}]">
            <a-select-option v-for="(item,index) in placeStatusData" :key="index" :value="Number(item.code)">{{ item.name }}</a-select-option>
          </a-select>
        </a-form-item>
        <a-form-item label="是否堆垛机库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" />
@@ -63,7 +64,7 @@
          <a-input placeholder="请输入库区编号" v-decorator="['areaCode']" />
        </a-form-item>
        <a-form-item label="所在库区" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入所在库区" v-decorator="['areaId']" />
          <a-input placeholder="请输入所在库区" v-decorator="['areaId', {rules: [{required: true, message: '请输入所在库区!'}]}]" />
        </a-form-item>
        <a-form-item label="库区名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入库区名称" v-decorator="['areaName']" />
@@ -140,6 +141,8 @@
  sm: { span: 15 }
  },
  record: {},
  placeTypeData: [],
  placeStatusData: [],
        visible: false,
        confirmLoading: false,
        form: this.$form.createForm(this)
@@ -155,6 +158,10 @@
        });
        //深度拷贝 移除VUE的监听,防止INDEX页面值变动
        this.record = JSON.parse(JSON.stringify(record))
        const placeTypeOption = this.$options
        this.placeTypeData = placeTypeOption.filters['dictData']('place_type')
        const placeStatusOption = this.$options
        this.placeStatusData = placeStatusOption.filters['dictData']('place_status')
        this.$nextTick(() => {
          this.form.setFieldsValue(
            {
@@ -164,7 +171,6 @@
              placeAlias: record.placeAlias,
              placeType: record.placeType,
              placeTypeName: record.placeTypeName,
              stockUnit: record.stockUnit,
              placeStatus: record.placeStatus,
              isSrmPlace: record.isSrmPlace,
              srmPlaceNo: record.srmPlaceNo,
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue
@@ -22,21 +22,20 @@
                </a-form-item>
              </a-col><a-col :md="8" :sm="24">
                <a-form-item label="库位类型">
                  <a-input-number v-model="queryParam.placeType" style="width: 100%" allow-clear placeholder="请输入库位类型"/>
                  <a-select :allowClear="true" style="width: 100%" v-model="queryParam.placeType" placeholder="请选择库位类型">
                    <a-select-option v-for="(item,index) in placeTypeData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
              <a-col :md="8" :sm="24">
                <a-form-item label="库位类型名称">
                  <a-input v-model="queryParam.placeTypeName" allow-clear placeholder="请输入库位类型名称"/>
                </a-form-item>
              </a-col>
              <a-col :md="8" :sm="24">
                <a-form-item label="存放单位">
                  <a-input v-model="queryParam.stockUnit" allow-clear placeholder="请输入存放单位"/>
                </a-form-item>
              </a-col><a-col :md="8" :sm="24">
                <a-form-item label="库位属性">
                  <a-input-number v-model="queryParam.placeStatus" style="width: 100%" allow-clear placeholder="请输入库位属性"/>
                  <a-select :allowClear="true" style="width: 100%" v-model="queryParam.placeStatus" placeholder="请选择库位属性">
                    <a-select-option v-for="(item,index) in placeStatusData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
            <a-col :md="8" :sm="24">
@@ -266,6 +265,12 @@
            <a-button type="primary" v-if="hasPerm('WmsPlace:add')" icon="plus" @click="$refs.addForm.add()">新增库位信息</a-button>
        </div>
        </template>
          <span slot="placeTypescopedSlots" slot-scope="text">
            {{ 'place_type' | dictType(text) }}
            </span>
          <span slot="placeStatusscopedSlots" slot-scope="text">
            {{ 'place_status' | dictType(text) }}
            </span>
          <span slot="isSrmPlacescopedSlots" slot-scope="text">
            <div v-if="text===true ">
                <a-tag color="green">是</a-tag>
@@ -444,19 +449,20 @@
    customHeaderCell: () => {
    return {
     style: {
    'min-width': '80px'//最小列宽设置
    'min-width': '120px'//最小列宽设置
     }
     }
    },
    customCell: () => {
    return {
    style: {
    'min-width': '80px'//最小列宽设置
    'min-width': '120px'//最小列宽设置
    }
    }
    },
    sorter: true,
    dataIndex: 'placeType'
    dataIndex: 'placeType',
    scopedSlots: { customRender: 'placeTypescopedSlots' }
    },
    {
    title: '库位类型名称',
@@ -479,44 +485,25 @@
    dataIndex: 'placeTypeName'
    },
    {
    title: '存放单位',
    align: 'center',
    customHeaderCell: () => {
    return {
     style: {
    'min-width': '120px'//最小列宽设置
     }
     }
    },
    customCell: () => {
    return {
    style: {
    'min-width': '120px'//最小列宽设置
    }
    }
    },
    sorter: true,
    dataIndex: 'stockUnit'
    },
    {
    title: '库位属性',
    align: 'center',
    customHeaderCell: () => {
    return {
     style: {
    'min-width': '80px'//最小列宽设置
    'min-width': '120px'//最小列宽设置
     }
     }
    },
    customCell: () => {
    return {
    style: {
    'min-width': '80px'//最小列宽设置
    'min-width': '120px'//最小列宽设置
    }
    }
    },
    sorter: true,
    dataIndex: 'placeStatus'
    dataIndex: 'placeStatus',
    scopedSlots: { customRender: 'placeStatusscopedSlots' }
    },
    {
    title: '是否堆垛机库位',
@@ -1193,6 +1180,8 @@
    return res.data
    })
    },
        placeTypeData: [],
        placeStatusData: [],
    selectedRowKeys: [],
    selectedRows: []
    }
@@ -1219,6 +1208,10 @@
    }
    });
    }
    const placeTypeOption = this.$options
    this.placeTypeData = placeTypeOption.filters['dictData']('place_type')
    const placeStatusOption = this.$options
    this.placeStatusData = placeStatusOption.filters['dictData']('place_status')
    const isSrmPlaceOption = this.$options
    this.isSrmPlaceData = isSrmPlaceOption.filters['dictData']('yes_true_false')
    const isRgvPlaceOption = this.$options
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs
@@ -382,17 +382,15 @@
                          
                          if(!string.IsNullOrEmpty(_WarehouseId))
                          {
                              if (!long.TryParse(_WarehouseId, out long outWarehouseId)&&!string.IsNullOrEmpty(_WarehouseId))
                          System.Int64  enumWarehouseId = default(System.Int64);
                             if(!Enum.TryParse<System.Int64>(_WarehouseId, out enumWarehouseId)&&!string.IsNullOrEmpty(_WarehouseId))
                              {
                                 throw Oops.Oh($"第{index}行[所属仓库]{_WarehouseId}值不正确!");
                              }
                              if (outWarehouseId <= 0&&!string.IsNullOrEmpty(_WarehouseId))
                              {
                                 throw Oops.Oh($"第{index}行[所属仓库]{_WarehouseId}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.WarehouseId = outWarehouseId;
                                 addItem.WarehouseId = enumWarehouseId;
                              }
                          
                          }
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
@@ -63,7 +63,7 @@
                                     .Where(input.MaterialType != null, u => u.MaterialType == input.MaterialType)
                                     .Where(!string.IsNullOrEmpty(input.MaterialGroup), u => u.MaterialGroup == input.MaterialGroup)
                                     .Where(!string.IsNullOrEmpty(input.ABCClassName), u => u.ABCClassName == input.ABCClassName)
                                     .Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
                                     //.Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
                                     .Where(!string.IsNullOrEmpty(input.MaterialSpec), u => u.MaterialSpec == input.MaterialSpec)
                                     .Where(!string.IsNullOrEmpty(input.InPlaceCode), u => u.InPlaceCode == input.InPlaceCode)
                                     .Where(!string.IsNullOrEmpty(input.MaterialUnit), u => u.MaterialUnit == input.MaterialUnit)
@@ -128,7 +128,7 @@
                .Where(pMaterialType != null, u => u.MaterialType == pMaterialType)
                .Where(!string.IsNullOrEmpty(pMaterialGroup), u => u.MaterialGroup == pMaterialGroup)
                .Where(!string.IsNullOrEmpty(pABCClassName), u => u.ABCClassName == pABCClassName)
                .Where(pABCClass != null, u => u.ABCClass == pABCClass)
                //.Where(pABCClass != null, u => u.ABCClass == pABCClass)
                .Where(!string.IsNullOrEmpty(pMaterialSpec), u => u.MaterialSpec == pMaterialSpec)
                .Where(!string.IsNullOrEmpty(pInPlaceCode), u => u.InPlaceCode == pInPlaceCode)
                .Where(!string.IsNullOrEmpty(pMaterialUnit), u => u.MaterialUnit == pMaterialUnit)
@@ -441,7 +441,7 @@
                              }
                              else
                              {
                                 addItem.ABCClass = outABCClass;
                                // addItem.ABCClass = outABCClass;
                              }
                          
                          }
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs
@@ -450,6 +450,7 @@
        /// <summary>
        /// 库位类型名称
        /// </summary>
        [Required(ErrorMessage = "库位类型名称不能为空")]
        public virtual string PlaceTypeName { get; set; }
        
        /// <summary>
@@ -516,7 +517,8 @@
        /// <summary>
        /// 所在库区
        /// </summary>
        public virtual long? AreaId { get; set; }
        [Required(ErrorMessage = "所在库区不能为空")]
        public virtual long AreaId { get; set; }
        
        /// <summary>
        /// 库区名称
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs
@@ -101,7 +101,7 @@
        /// <summary>
        /// 所在库区
        /// </summary>
        public long? AreaId { get; set; }
        public long AreaId { get; set; }
        
        /// <summary>
        /// 库区名称
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs
@@ -87,6 +87,8 @@
                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
                                     .OrderBy(PageInputOrder.OrderBuilder<WmsPlaceSearch>(input))
                                     .ProjectToType<WmsPlaceOutput>()
                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
@@ -138,6 +140,8 @@
            var pIsDisabled = input.IsDisabled;
            var pCreatedTime = input.CreatedTime;
            var pUpdatedTime = input.UpdatedTime;
            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
            var wmsPlaces = await _wmsPlaceRep.DetachedEntities
                .Where(!string.IsNullOrEmpty(pPlaceCode), u => u.PlaceCode == pPlaceCode)
                .Where(!string.IsNullOrEmpty(pPlaceName), u => u.PlaceName == pPlaceName)
@@ -176,6 +180,8 @@
                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
            .ProjectToType<WmsPlaceOutput>()
            .ToListAsync();
@@ -436,6 +442,12 @@
                              }
                          
                           }
                          if (string.IsNullOrEmpty(_PlaceTypeName))
                          {
                            throw Oops.Oh($"第{index}行[库位类型名称]{_PlaceTypeName}不能为空!");
                          }
                          if(!string.IsNullOrEmpty(_PlaceTypeName))
                          {
                                addItem.PlaceTypeName = (string)_PlaceTypeName;
@@ -549,6 +561,12 @@
                          {
                                addItem.AreaCode = (string)_AreaCode;
                           }
                          if (string.IsNullOrEmpty(_AreaId))
                          {
                            throw Oops.Oh($"第{index}行[所在库区]{_AreaId}不能为空!");
                          }
                          if(!string.IsNullOrEmpty(_AreaId))
                          {
                              if (!long.TryParse(_AreaId, out long outAreaId)&&!string.IsNullOrEmpty(_AreaId))
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterial.cs
@@ -91,7 +91,7 @@
        /// </summary>
        [Comment("ABC分类")]
        public int? ABCClass { get; set; }
        public ABCClassEnum? ABCClass { get; set; }
        /// <summary>
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Enum/Wms/WmsMaterialEnum.cs
@@ -139,4 +139,28 @@
        [Description("T")]
        T = 2
    }
    /// <summary>
    /// 物料ABC分类
    /// </summary>
    public enum ABCClassEnum
    {
        /// <summary>
        /// A
        /// </summary>
        [Description("A")]
        A = 1,
        /// <summary>
        ///B
        /// </summary>
        [Description("B")]
        B= 2,
        /// <summary>
        ///C
        /// </summary>
        [Description("C")]
        C = 3
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs
@@ -260,6 +260,10 @@
                new SysDictData{Id=539733729484869, TypeId=539731668947013, Value="基础库位", Code="2", Sort=100, Remark="", Status=0 },
                new SysDictData{Id=539733806522437, TypeId=539731668947013, Value="组合库位", Code="3", Sort=100, Remark="", Status=0 },
                new SysDictData{Id=539751848640581, TypeId=539751788187717, Value="A", Code="1", Sort=100, Remark="", Status=0 },
                new SysDictData{Id=539751869472837, TypeId=539751788187717, Value="B", Code="2", Sort=100, Remark="", Status=0 },
                new SysDictData{Id=539751888134213, TypeId=539751788187717, Value="C", Code="3", Sort=100, Remark="", Status=0 },
            };
        }
    }
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs
@@ -80,7 +80,7 @@
                new SysDictType{Id=386522984120392, Name="单据大类", Code="orderlargecategory_Enum", Sort=100, Remark="", Status=0 },
                new SysDictType{Id=386522984120393, Name="单据主表状态", Code="order_statusenum", Sort=100, Remark="", Status=0 },
               
                  new SysDictType{Id=539751788187717, Name="物料ABC分类", Code="order_statusenum", Sort=100, Remark="", Status=0 },
            };
        }
    }
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx
Binary files differ
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialImport.xlsx
Binary files differ
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx
Binary files differ