Browse Source

bug修改

master
陈薪名 11 months ago
parent
commit
068282c67a
  1. 1
      src/views/wms/basicDataManage/factoryModeling/workstation/index.vue
  2. 16
      src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts
  3. 36
      src/views/wms/issueManage/issue/issueRequestMain/index.vue
  4. 341
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  5. 32
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue
  6. 7
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  7. 32
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
  8. 3
      src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts
  9. 5
      src/views/wms/productionManage/productionplan/productionMain/index.vue
  10. 4
      src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
  11. 38
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue
  12. 110
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

1
src/views/wms/basicDataManage/factoryModeling/workstation/index.vue

@ -67,6 +67,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
//
defineOptions({ name: 'Workstation' })
const message = useMessage() //

16
src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts

@ -145,6 +145,14 @@ export const Workstation = useCrudSchemas(reactive<CrudSchema[]>([
searchCondition: [{
key: 'available',
value: 'TRUE',
action: '==',
isSearch: true,
isMainValue: false
},{
key: 'type',
value: 'FG',
action: '==',
isSearch: true,
isMainValue: false
}]
}
@ -285,7 +293,13 @@ export const WorkstationRules = reactive({
productionLineCode: [
{ required: true, message: '请输入生产线代码', trigger: 'change' }
],
available: [
available: [
{ required: true, message: '请选择是否可用', trigger: 'change' }
],
rawLocationCode: [
{ required: true, message: '请选择原料库位', trigger: 'change' }
],
fgLocationCode: [
{ required: true, message: '请选择成品库位', trigger: 'change' }
],
})

36
src/views/wms/issueManage/issue/issueRequestMain/index.vue

@ -108,6 +108,10 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} else {
const setV = {}
setV[formField] = val[0][searchField]
if (formField == 'fromWarehouseCode') {
setV['fromWarehouseCode'] = val[0]['code']
setV['toWarehouseCode'] = val[0]['code']
}
formRef.setValues(setV)
}
})
@ -314,22 +318,22 @@ const handleDeleteTable = (item, index) => {
const submitForm = async (formType, data) => {
data.subList = tableData.value //
// 线
if (tableData.value.length > 0) {
let productionLineCode = tableData.value[0].productionLineCode
let workStationCode = tableData.value[0].workStationCode
for(var i=0;i<tableData.value.length;i++) {
if(productionLineCode !== tableData.value[i].productionLineCode){
message.warning('子表数据:生产线存在不同数据,请修改成统一数据!')
formRef.value.formLoading = false
return;
}
if(workStationCode !== tableData.value[i].workStationCode){
message.warning('子表数据:工位存在不同数据,请修改成统一数据!')
formRef.value.formLoading = false
return;
}
}
}
// if (tableData.value.length > 0) {
// let productionLineCode = tableData.value[0].productionLineCode
// let workStationCode = tableData.value[0].workStationCode
// for(var i=0;i<tableData.value.length;i++) {
// if(productionLineCode !== tableData.value[i].productionLineCode){
// message.warning('线')
// formRef.value.formLoading = false
// return;
// }
// if(workStationCode !== tableData.value[i].workStationCode){
// message.warning('')
// formRef.value.formLoading = false
// return;
// }
// }
// }
try {
if (formType === 'create') {
await IssueRequestMainApi.createIssueRequestMain(data)

341
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -17,6 +17,9 @@ import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/produ
import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
import * as WarehouseApi from '@/api/wms/warehouse'
import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
const { t } = useI18n() // 国际化
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@ -37,6 +40,17 @@ const userDept = userStore.userSelfInfo.dept
* @returns {Array}
*/
export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180,
fixed: 'left'
},
isForm: false,
isSearch: true,
},
{
label: '车间代码',
field: 'workshopCode',
@ -80,39 +94,54 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '从仓库代码',
field: 'fromWarehouseCode',
sort: 'custom',
table: {
width: 150
label: '申请时间',
field: 'requestTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
isForm: false
},
{
label: '从库位类型范围',
field: 'fromLocationTypes',
// dictType: DICT_TYPE.LOCATION_TYPE,
// dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
width: 180
},
isForm: false
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false,
},
{
label: '从库区代码范围',
field: 'fromAreaCodes',
label: '截止时间',
field: 'dueTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 150
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style:{width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false
},
{
label: '到仓库代码',
field: 'toWarehouseCode',
label: '从库位类型范围',
field: 'fromLocationTypes',
// dictType: DICT_TYPE.LOCATION_TYPE,
// dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
@ -132,8 +161,8 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '库区代码范围',
field: 'toAreaCodes',
label: '库区代码范围',
field: 'fromAreaCodes',
sort: 'custom',
table: {
width: 150
@ -141,111 +170,65 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150,
fixed: 'left'
},
isForm: false,
isSearch: true,
},
{
label: '业务类型',
field: 'businessType',
label: '到库区代码范围',
field: 'toAreaCodes',
sort: 'custom',
table: {
width: 150
},
form: {
value: 'Issue',
componentProps: {
disabled: true
}
},
isForm: false
},
{
label: '备注',
field: 'remark',
label: '从仓库代码',
field: 'fromWarehouseCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
// labelMessage: '信息提示说明!!!',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择仓库代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '仓库信息', // 查询弹窗标题
searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类
searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
isForm: false,
}
},
{
label: '创建者',
field: 'creator',
label: '到仓库代码',
field: 'toWarehouseCode',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '申请时间',
field: 'requestTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
disabled: true
}
},
isForm: false,
}
},
{
label: '截止时间',
field: 'dueTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
label: '业务类型',
field: 'businessType',
sort: 'custom',
table: {
width: 180
width: 150
},
form: {
component: 'DatePicker',
value: 'Issue',
componentProps: {
style:{width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
disabled: true
}
},
isForm: false
},
{
label: '部门',
@ -254,42 +237,22 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
form: {
value: userDept.name,
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
field: 'updateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false,
// form: {
// value: userDept.name,
// componentProps: {
// disabled: true
// }
// }
},
{
label: '最后更新者',
field: 'updater',
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTable: false,
},
{
label: '使用在途库',
@ -391,52 +354,116 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false,
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '最后更新时间',
field: 'updateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false,
},
{
label: '最后更新者',
field: 'updater',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 300,
width: 200,
fixed: 'right'
},
}
]))
export const IssueRequestMainRules = reactive({
// workshopCode: [
// { required: true, message: '请选择车间代码', trigger: 'change' }
// ],
fromWarehouseCode: [
{ required: true, message: '请输入从仓库代码', trigger: 'blur' }
workshopCode: [
{ required: true, message: '请选择车间代码', trigger: 'change' }
],
fromLocationTypes: [
{ required: true, message: '请选择从库位类型范围', trigger: 'change' }
],
toWarehouseCode: [
{ required: true, message: '请输入到仓库代码', trigger: 'blur' }
],
toLocationTypes: [
{ required: true, message: '请选择到库位类型范围', trigger: 'change' }
],
departmentCode: [
{ required: true, message: '请输入部门', trigger: 'blur' }
],
autoCommit: [
{ required: true, message: '请选择是否自动提交', trigger: 'change' }
],
autoAgree: [
{ required: true, message: '请选择是否自动通过', trigger: 'change' }
],
autoExecute: [
{ required: true, message: '请选择是否自动执行', trigger: 'change' }
],
directCreateRecord: [
{ required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
fromWarehouseCode: [
{ required: true, message: '请选择从仓库代码', trigger: 'change' }
],
businessType: [
{ required: true, message: '请输入业务类型', trigger: 'blur' }
dueTime: [
{ required: true, message: '请选择截止时间', trigger: 'change' }
],
// fromLocationTypes: [
// { required: true, message: '请选择从库位类型范围', trigger: 'change' }
// ],
// toWarehouseCode: [
// { required: true, message: '请输入到仓库代码', trigger: 'blur' }
// ],
// toLocationTypes: [
// { required: true, message: '请选择到库位类型范围', trigger: 'change' }
// ],
// departmentCode: [
// { required: true, message: '请输入部门', trigger: 'blur' }
// ],
// autoCommit: [
// { required: true, message: '请选择是否自动提交', trigger: 'change' }
// ],
// autoAgree: [
// { required: true, message: '请选择是否自动通过', trigger: 'change' }
// ],
// autoExecute: [
// { required: true, message: '请选择是否自动执行', trigger: 'change' }
// ],
// directCreateRecord: [
// { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
// ],
// businessType: [
// { required: true, message: '请输入业务类型', trigger: 'blur' }
// ],
})
/**

32
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue

@ -287,15 +287,23 @@ const buttonTableClick = async (val, row) => {
console.log(err)
})
} else if (val == 'cjbq') { //
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
if (detatableData.tableList[0].packingNumber) {
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (isCreateLabel) {
message.warning('已创建过标签!!!')
return
}
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
// dialogVisible.value = true
formLabelRef.value.open('create', row)
@ -349,16 +357,16 @@ const buttonTableClick = async (val, row) => {
})
} else if (val == 'mainHandle') { //
await ProductionreturnRequestDetailApi.getProductionreturnRequestDetailPage({
masterId: row.id
//
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res.list) {
if (res.list[0].packingNumber) {
isCreateLabel.value = true
}
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (!isCreateLabel.value) {
if (!isCreateLabel) {
message.warning('请先创建标签')
return
}

7
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts

@ -31,6 +31,8 @@ const queryParams = {
const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
const requestsettingData =data?.list[0]||{}
console.log(34, requestsettingData)
// 获取当前操作人的部门
import { useUserStore } from '@/store/modules/user'
const userStore = useUserStore()
@ -625,13 +627,13 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
}
},
@ -646,6 +648,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
width: 150
},
tableForm: {
type: 'Select',
disabled: true
},
form: {

32
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue

@ -294,15 +294,23 @@ const buttonTableClick = async (val, row) => {
console.log(err)
})
} else if (val == 'cjbq') { //
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
if (detatableData.tableList[0].packingNumber) {
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (isCreateLabel) {
message.warning('已创建过标签!!!')
return
}
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
// dialogVisible.value = true
formLabelRef.value.open('create', row)
@ -356,16 +364,16 @@ const buttonTableClick = async (val, row) => {
})
} else if (val == 'mainHandle') { //
await ProductionreturnRequestDetailNoApi.getProductionreturnRequestDetailPage({
masterId: row.id
//
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res.list) {
if (res.list[0].packingNumber) {
isCreateLabel.value = true
}
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (!isCreateLabel.value) {
if (!isCreateLabel) {
message.warning('请先创建标签')
return
}

3
src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts

@ -424,6 +424,9 @@ export const ProductdismantleRequestMainRules = reactive({
// fromAreaCodes: [
// { required: true, message: '请选择从库区代码范围', trigger: 'change' }
// ],
dueTime: [
{ required: true, message: '请选择截止时间', trigger: 'change' }
],
workshopCode: [
{ required: true, message: '请选择车间', trigger: 'change' }
],

5
src/views/wms/productionManage/productionplan/productionMain/index.vue

@ -338,6 +338,11 @@ const handleDeleteTable = (item, index) => {
//
const submitForm = async (formType, data) => {
if(tableData.value.find(item => (item.planQty <= 0))) {
message.warning('数量必须大于0')
formRef.value.formLoading = false
return
}
try {
if (formType === 'create') {
data.subList = tableData.value //

4
src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts

@ -665,13 +665,13 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
},
},

38
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue

@ -311,15 +311,24 @@ const buttonTableClick = async (val, row) => {
console.log(err)
})
} else if (val == 'cjbq') { //
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
if (detatableData.tableList[0].packingNumber) {
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (isCreateLabel) {
message.warning('已创建过标签!!!')
return
}
detatableData.params = {
masterId:row.id
}
await getDetailList()
//
// dialogVisible.value = true
formLabelRef.value.open('create', row)
@ -372,16 +381,16 @@ const buttonTableClick = async (val, row) => {
})
} else if (val == 'mainHandle') { //
await ProductreceiptRequestDetailApi.getProductreceiptRequestDetailPage({
masterId: row.id
//
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res.list) {
if (res.list[0].packingNumber) {
isCreateLabel.value = true
}
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (!isCreateLabel.value) {
if (!isCreateLabel) {
message.warning('请先创建标签')
return
}
@ -463,6 +472,11 @@ const handleDeleteTable = (item, index) => {
//
const submitForm = async (formType, data) => {
data.subList = tableData.value //
if(data.subList.find(item => (item.qty <= 0))) {
message.warning('数量必须大于0')
formRef.value.formLoading = false
return
}
try {
if (formType === 'create') {
await ProductreceiptRequestMainApi.createProductreceiptRequestMain(data)

110
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

@ -605,50 +605,6 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
isTableForm: false,
isForm: false
},
{
label: '生产日期',
field: 'produceDate',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isTableForm: false,
isForm: false
},
{
label: '过期日期',
field: 'expireDate',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isTableForm: false,
isForm: false
},
{
label: '库存状态',
field: 'inventoryStatus',
@ -884,13 +840,13 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
},
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
}
},
@ -908,6 +864,56 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
type: 'Select'
}
},
{
label: '生产日期',
field: 'produceDate',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
tableForm: {
type: 'FormDateTime',
valueFormat: 'x',
},
form: {
component: 'DatePicker',
componentProps: {
style: {width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '过期日期',
field: 'expireDate',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
tableForm: {
type: 'FormDateTime',
valueFormat: 'x',
},
form: {
component: 'DatePicker',
componentProps: {
style: {width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '备注',
field: 'remark',
@ -1003,12 +1009,12 @@ export const ProductreceiptRequestDetailRules = reactive({
// packingNumber: [
// { required: true, message: '请输入包装号', trigger: 'change' }
// ],
// produceDate: [
// { required: true, message: '请选择生产日期', trigger: 'change' }
// ],
// expireDate: [
// { required: true, message: '请选择过期日期', trigger: 'change' }
// ],
produceDate: [
{ required: true, message: '请选择生产日期', trigger: 'change' }
],
expireDate: [
{ required: true, message: '请选择过期日期', trigger: 'change' }
],
// inventoryStatus: [
// { required: true, message: '请选择库存状态', trigger: 'change' }
// ],

Loading…
Cancel
Save