| | |
| | | <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'}]" /> |
| | |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | warehouseIdData: [], |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | |
| | | this.$nextTick(() => { |
| | | |
| | | }); |
| | | const warehouseIdOption = this.$options |
| | | this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type') |
| | | }, |
| | | /** |
| | | * 提交表单 |
| | |
| | | <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'}]" /> |
| | |
| | | sm: { span: 15 } |
| | | }, |
| | | record: {}, |
| | | warehouseIdData: [], |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | |
| | | }); |
| | | //深度拷贝 移除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( |
| | | { |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'warehouseId' |
| | | dataIndex: 'warehouseId', |
| | | scopedSlots: { customRender: 'warehouseIdscopedSlots' } |
| | | }, |
| | | { |
| | | title: '零件级管控', |
| | |
| | | return res.data |
| | | }) |
| | | }, |
| | | warehouseIdData: [], |
| | | selectedRowKeys: [], |
| | | selectedRows: [] |
| | | } |
| | |
| | | } |
| | | }); |
| | | } |
| | | 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 |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> --> |
| | | |
| | | <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select style="width: 100%" placeholder="请选择物料类型" v-decorator="['materialType']"> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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="['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-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> |
| | |
| | | </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"> |
| | | <a-select style="width: 100%" placeholder="请选择库位属性" v-decorator="['placeStatus', {rules: [{ required: true, message: '请选择库位属性!' }]}]"> |
| | |
| | | <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']" /> |
| | |
| | | |
| | | </a-form-item> |
| | | </a-col> |
| | | </template> |
| | | |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="创建者名称"> |
| | | <a-input v-model="queryParam.createdUserName" allow-clear placeholder="请输入创建者名称"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="修改者名称"> |
| | | <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="请输入修改者名称"/> |
| | | </a-form-item> |
| | | </a-col> </template> |
| | | |
| | | <a-col :md="8" :sm="24" > |
| | | <span class="table-page-search-submitButtons"> |
| | |
| | | |
| | | 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!"); |
| | | throw Oops.Oh($"第{index}行[所属仓库]{_WarehouseId}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.WarehouseId = outWarehouseId; |
| | | addItem.WarehouseId = enumWarehouseId; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_IsBarcodeLevelControl)) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 库位类型名称 |
| | | /// </summary> |
| | | [Required(ErrorMessage = "库位类型名称不能为空")] |
| | | public virtual string PlaceTypeName { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 所在库区 |
| | | /// </summary> |
| | | public virtual long? AreaId { get; set; } |
| | | [Required(ErrorMessage = "所在库区不能为空")] |
| | | public virtual long AreaId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 库区名称 |
| | |
| | | /// <summary> |
| | | /// 所在库区 |
| | | /// </summary> |
| | | public long? AreaId { get; set; } |
| | | public long AreaId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 库区名称 |
| | |
| | | .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); |
| | |
| | | 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) |
| | |
| | | .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(); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_PlaceTypeName)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[库位类型名称]{_PlaceTypeName}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_PlaceTypeName)) |
| | | { |
| | | addItem.PlaceTypeName = (string)_PlaceTypeName; |
| | |
| | | { |
| | | 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)) |