yanghao преди 1 ден
родител
ревизия
56a297e5f2
променени са 1 файла, в които са добавени 39 реда и са изтрити 8 реда
  1. 39 8
      src/views/pms/qhse/emergencyDrill/EmergencyDrillForm.vue

+ 39 - 8
src/views/pms/qhse/emergencyDrill/EmergencyDrillForm.vue

@@ -22,37 +22,50 @@
       </el-row>
 
       <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="是否录入证书" prop="ifCert">
+            <el-radio-group v-model="formData.ifCert">
+              <el-radio
+                v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+                :key="dict.value"
+                :value="dict.value">
+                {{ dict.label }}
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
         <el-col :span="12">
           <el-form-item label="数量" prop="emergencyNumber">
             <el-input-number
               v-model="formData.emergencyNumber"
+              :disabled="isCertEntered"
               :min="0"
               :precision="0"
               controls-position="right"
               class="!w-full" />
           </el-form-item>
         </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="存放位置" prop="emergencyLocation">
             <el-input v-model="formData.emergencyLocation" placeholder="请输入存放位置" />
           </el-form-item>
         </el-col>
-      </el-row>
-
-      <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="责任人" prop="dutyPerson">
             <el-input v-model="formData.dutyPerson" placeholder="请输入责任人" />
           </el-form-item>
         </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="联系电话" prop="mobile">
             <el-input v-model="formData.mobile" placeholder="请输入联系电话" />
           </el-form-item>
         </el-col>
-      </el-row>
-
-      <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="部门" prop="deptId">
             <el-tree-select
@@ -67,6 +80,9 @@
               style="width: 100%" />
           </el-form-item>
         </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="附件" prop="file">
             <UploadFile
@@ -105,6 +121,7 @@ import { defaultProps, handleTree } from '@/utils/tree'
 import * as DeptApi from '@/api/system/dept'
 import { useUserStore } from '@/store/modules/user'
 import { getUserProfile } from '@/api/system/user/profile'
+import { DICT_TYPE, getBoolDictOptions } from '@/utils/dict'
 
 defineOptions({ name: 'QHSEEmergencyDrillForm' })
 
@@ -128,16 +145,21 @@ const createDefaultFormData = () => ({
   mobile: '',
   file: '',
   deptId: undefined,
-  remark: ''
+  remark: '',
+  ifCert: ''
 })
 
 const formData = ref(createDefaultFormData())
 
+const isCertEntered = computed(() => formData.value.ifCert === true)
+
 const formRules = reactive({
   emergencyName: [{ required: true, message: '应急物资名称不能为空', trigger: 'blur' }],
   emergencyUnit: [{ required: true, message: '应急物资单位不能为空', trigger: 'blur' }],
   dutyPerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }],
-  deptId: [{ required: true, message: '部门不能为空', trigger: 'change' }]
+  deptId: [{ required: true, message: '部门不能为空', trigger: 'change' }],
+  ifCert: [{ required: true, message: '请选择是否录入证书', trigger: 'change' }],
+  emergencyNumber: [{ required: true, message: '数量不能为空', trigger: 'blur' }]
 })
 
 const emit = defineEmits(['success'])
@@ -147,6 +169,15 @@ const resetForm = () => {
   formRef.value?.resetFields()
 }
 
+watch(
+  () => formData.value.ifCert,
+  (value) => {
+    if (value === true) {
+      formData.value.emergencyNumber = 1
+    }
+  }
+)
+
 const open = async (type: string, id?: number) => {
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)