From 62feaa429971245b5837c456ef830e87a75b7a14 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期四, 28 十一月 2024 15:45:24 +0800 Subject: [PATCH] 修改首页 --- src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue | 48 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue b/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue index 2bc3776..afcec8b 100644 --- a/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue +++ b/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue @@ -51,7 +51,7 @@ /> </el-select> </el-form-item> - <el-form-item label="最小包装数量:" prop="num" > + <el-form-item label="数量:" prop="num" > <el-input v-model.trim="state.form.num" oninput="value=value.replace(/^\.+|[^\d]/g,'')" placeholder="请输入最小包装数量" @input="changeNum"></el-input> </el-form-item> <el-form-item label="批号:" prop="batchNo" > @@ -90,6 +90,19 @@ const length = ref() const emit = defineEmits(["getList"]); +const validateNum = (rule, value, callback)=>{ + if(value === ''){ + callback(new Error('请输入最小包装数量')) + }else{ + if(choosePro.value && value > choosePro.value.maxEntry ){ + callback(new Error(`输入数量不能大于单次入库最大数量(${choosePro.value.maxEntry})`)) + }else { + callback() + } + + } +} + const state = reactive({ form: { @@ -103,7 +116,7 @@ }, formRules:{ - num: [{ required: true, trigger: "blur", message: '请输入最小包装数量' }], + num: [{ required: true, trigger: "blur", validator: validateNum }], warehouseName: [{ required: true, trigger: "blur", message: '请选择入库仓库' }], basicName: [{ required: true, trigger: "blur", message: '请选择入库成品' }], // batchNo: [{ required: true, trigger: "blur", message: '请输入批号' }] @@ -117,12 +130,14 @@ const openDialog = async (type, value) => { await getRawBasicList("") await getWareHouseList("") + state.form.batchNo = moment(new Date()).format("YYYYMMDD") title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑':'' ; if(type === 'edit' ) { - state.form = value; - state.form.basicName = value.hazmatBasic.name + state.form = JSON.parse(JSON.stringify(value)); + state.form.basicName = value.hazmatBasic.name + '—' + value.hazmatBasic.productSn + ' (' + value.hazmatBasic.metering + value.hazmatBasic.unit+') ' state.form.warehouseName = value.warehouse.name; choosePro.value = value.hazmatBasic + choosePro.value.name = value.hazmatBasic.name + '—' + value.hazmatBasic.productSn + ' (' + value.hazmatBasic.metering + value.hazmatBasic.unit+') ' changeNum() } dialogVisible.value = true; @@ -141,7 +156,14 @@ } const res = await getBasicList(param) if(res.code == 200){ - state.rawList = res.data.list + state.rawList = res.data.list.map(item => { + return{ + ...item, + name: item.name + '—' + item.productSn + ' (' + item.metering +item.unit+') ' + + } + }) + console.log('111',state.rawList) }else{ ElMessage.warning(res.message) } @@ -170,9 +192,9 @@ const valid = await busRef.value.validate(); if(valid){ if(title.value === '新增'){ - if(state.form.batchNo == ''){ - state.form.batchNo = moment(new Date()).format("YYYY-MM-DD") - } + // if(state.form.batchNo == ''){ + // state.form.batchNo = moment(new Date()).format("YYYY-MM-DD") + // } const {id, ...data} = JSON.parse(JSON.stringify(state.form)) const res = await addRawRecord(data) if(res.code === 200){ @@ -188,9 +210,9 @@ reset(); dialogVisible.value = false; }else if(title.value === '编辑'){ - if(state.form.batchNo == ''){ - state.form.batchNo = moment(new Date()).format("YYYY-MM-DD") - } + // if(state.form.batchNo == ''){ + // state.form.batchNo = moment(new Date()).format("YYYY-MM-DD") + // } const {...data} = JSON.parse(JSON.stringify(state.form)) const res = await editRawRecord(data) if(res.code === 200){ @@ -215,12 +237,13 @@ state.form.basicId = item.id console.log('item',item) choosePro.value = item; + changeNum() } }) } const changeNum = () => { const minPackageType = choosePro.value.minPackage == 0 ? '瓶' :choosePro.value.minPackage == 1?'袋':choosePro.value.minPackage == 2?'桶 ':choosePro.value.minPackage == 3?'盒':choosePro.value.minPackage == 4?'箱':'其他' - state.message = `您将入库 { ${choosePro.value.name} },编号:{ ${choosePro.value.productSn} },最小包装${choosePro.value.metering}${choosePro.value.unit},类别:${minPackageType}。 \n 共计:${state.form.num}${minPackageType}` + state.message = `您将入库 { ${choosePro.value.name.substring(0,choosePro.value.name.lastIndexOf('—')) } },编号:{ ${choosePro.value.productSn} },最小包装${choosePro.value.metering}${choosePro.value.unit},类别:${minPackageType}。 \n 共计:${state.form.num}${minPackageType}` } const selectWareValue = (val) => { state.wareHouseList.forEach(item => { @@ -249,6 +272,7 @@ state.rawList = []; state.wareHouseList = []; state.message = ''; + choosePro.value = {} } defineExpose({ openDialog -- Gitblit v1.9.2