From c7df7a96bbf7ab87af9f522cccc0d978f748efc3 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期六, 14 九月 2024 15:11:52 +0800
Subject: [PATCH] bug修改

---
 src/views/hazardousChemicals/basicInfon/components/basicDialog.vue |  105 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 98 insertions(+), 7 deletions(-)

diff --git a/src/views/hazardousChemicals/basicInfon/components/basicDialog.vue b/src/views/hazardousChemicals/basicInfon/components/basicDialog.vue
index 4aed9ba..2afd575 100644
--- a/src/views/hazardousChemicals/basicInfon/components/basicDialog.vue
+++ b/src/views/hazardousChemicals/basicInfon/components/basicDialog.vue
@@ -34,10 +34,35 @@
           <el-input v-model.trim="state.form.cas" placeholder="请输入CAS"></el-input>
         </el-form-item>
         <el-form-item label="试剂类型:" prop="hazmatType">
-          <el-input v-model.trim="state.form.hazmatType" placeholder="请输入试剂类型"></el-input>
+          <el-select
+              v-model="state.form.hazmatType"
+              placeholder="请选择试剂类型"
+              clearable
+              style="width: 100%"
+          >
+            <el-option
+                v-for="dict in state.hazmatTypeList"
+                :key="dict.id"
+                :label="dict.name"
+                :value="dict.name"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="危险性质:" prop="hazmatCharacter">
-          <el-input v-model.trim="state.form.hazmatCharacter" placeholder="请输入危险性质"></el-input>
+          <el-select
+              v-model="state.characterList"
+              placeholder="请选择危险性质"
+              clearable
+              multiple
+              style="width: 100%"
+          >
+            <el-option
+                v-for="dict in state.hazmatCharacterList"
+                :key="dict.id"
+                :label="dict.name"
+                :value="dict.name"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="供应商:" prop="supplier">
           <el-input v-model.trim="state.form.supplier" placeholder="请输入供应商"></el-input>
@@ -94,7 +119,10 @@
           <el-input v-model.trim="state.form.safeNum" placeholder="请输入安全库存" oninput="value=value.replace(/^\.+|[^\d]/g,'')"></el-input>
         </el-form-item>
         <el-form-item label="超期阈值(小时):" prop="threshold">
-          <el-input v-model.trim="state.form.threshold" placeholder="请输入超期阈值"></el-input>
+          <el-input v-model.trim="state.form.threshold" placeholder="请输入超期阈值" oninput="value=value.replace(/^\.+|[^\d]/g,'')"></el-input>
+        </el-form-item>
+        <el-form-item label="单次入库最大数量:" prop="maxEntry">
+          <el-input v-model.trim="state.form.maxEntry" placeholder="请输入单次入库最大数量" oninput="value=value.replace(/^\.+|[^\d]/g,'')"></el-input>
         </el-form-item>
       </el-form>
       <template #footer>
@@ -164,8 +192,10 @@
     minPackage: '',
     safeNum: null,
     threshold: null,
-    kind: ''
+    kind: '',
+    maxEntry: null
   },
+  characterList: [],
   formRules:{
     name: [{ required: true, trigger: "blur", message: '请输入危化品名称', }],
     cas: [{ required: true, message: '请输入cas', trigger: 'blur' }],
@@ -174,7 +204,7 @@
     hazmatType: [{ required: true, message: '请输入试剂类型', trigger: 'blur' }],
     manufacturer: [{ required: true, message: '请输入厂家', trigger: 'blur' }],
     metering: [{ required: true, message: '请输入包装数量', trigger: 'blur' }],
-    perBox: [{ required: true, message: '请输入每箱数量', trigger: 'blur' }],
+    // perBox: [{ required: true, message: '请输入每箱数量', trigger: 'blur' }],
     price: [{ required: true, message: '请输入含税价格', trigger: 'blur' }],
     productSn: [{ required: true, validator: validateName, trigger: 'blur' }],
     supplier: [{ required: true, message: '请输入供应商', trigger: 'blur' }],
@@ -183,6 +213,7 @@
     kind: [{ required: true, message: '请选择种类', trigger: 'blur' }],
     threshold: [{ required: true, message: '请输入超期阀值', trigger: 'blur' }],
     unit: [{ required: true, message: '请选择包装单位', trigger: 'blur' }],
+    maxEntry: [{ required: true, message: '请输入单次入库最大数量', trigger: 'blur' }],
 
   },
   typeList: [
@@ -205,6 +236,28 @@
     {
       id: 4,
       name: '其他'
+    },
+  ],
+  hazmatTypeList: [
+    {
+      id: 0,
+      name: '耗材'
+    },
+    {
+      id: 1,
+      name: '液态'
+    },
+    {
+      id: 2,
+      name: '液体'
+    },
+    {
+      id: 3,
+      name: '气态'
+    },
+    {
+      id: 4,
+      name: '固态'
     },
   ],
   unitList:[
@@ -233,14 +286,48 @@
       name: '其他'
     },
   ],
+  hazmatCharacterList: [
+    {
+      id: 0,
+      name: '腐蚀品'
+    },
+    {
+      id: 1,
+      name: '氧化品'
+    },
+    {
+      id: 2,
+      name: '有毒品'
+    },
+    {
+      id: 3,
+      name: '易燃品'
+    },
+    {
+      id: 4,
+      name: '非易燃品'
+    },
+  ],
   unitOptions: [
     {
       value: 'g',
       label: 'g',
     },
     {
+      value: 'mg',
+      label: 'mg',
+    },
+    {
+      value: 'kg',
+      label: 'kg',
+    },
+    {
       value: 'ml',
       label: 'ml',
+    },
+    {
+      value: 'l',
+      label: 'l',
     },
   ]
 })
@@ -250,13 +337,15 @@
   t.value = type
   title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '' ;
   if(type === 'edit' || type === 'distribute') {
-    state.form = value;
+    state.form = JSON.parse(JSON.stringify(value));
+    state.characterList = state.form.hazmatCharacter.split(',')
     startUsername.value = value.productSn
   }
   dialogVisible.value = true;
 }
 
 const onSubmit = async () => {
+  state.form.hazmatCharacter = state.characterList.join(",")
   const valid = await busRef.value.validate();
   if(valid){
     if(title.value === '新增'){
@@ -316,8 +405,10 @@
     minPackage: '',
     safeNum: null,
     threshold: null,
-    kind: ''
+    kind: '',
+    maxEntry: null
   }
+  state.characterList = []
 }
 defineExpose({
   openDialog

--
Gitblit v1.9.2