yanghao 2 dní pred
rodič
commit
80ad2f804c

+ 49 - 12
src/views/pms/qhse/certPerson/CertPersonForm.vue

@@ -15,6 +15,7 @@
           :check-strictly="false"
           node-key="id"
           filterable
+          @node-click="handleDeptTreeNodeClick"
           placeholder="请选择所在部门" />
       </el-form-item>
       <el-form-item label="姓名" prop="nickname">
@@ -138,6 +139,39 @@
             </el-radio>
           </el-radio-group>
         </el-form-item>
+
+        <el-form-item label="国际井控证" prop="gjjk">
+          <el-radio-group v-model="formData.gjjk">
+            <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-form-item label="消防证" prop="xiaofang">
+          <el-radio-group v-model="formData.xiaofang">
+            <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-form-item label="急救证" prop="jijiu">
+          <el-radio-group v-model="formData.jijiu">
+            <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>
       </div>
     </el-form>
     <template #footer>
@@ -182,7 +216,10 @@ const formData = ref({
   dg: undefined,
   lxygzc: undefined,
   dz: undefined,
-  aqgl: undefined
+  aqgl: undefined,
+  gjjk: undefined,
+  xiaofang: undefined,
+  jijiu: undefined
 })
 const formRules = reactive({
   nickname: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
@@ -198,10 +235,19 @@ const formRules = reactive({
   dg: [{ required: true, message: '请选择', trigger: 'blur' }],
   lxygzc: [{ required: true, message: '请选择', trigger: 'blur' }],
   dz: [{ required: true, message: '请选择', trigger: 'blur' }],
-  aqgl: [{ required: true, message: '请选择', trigger: 'blur' }]
+  aqgl: [{ required: true, message: '请选择', trigger: 'blur' }],
+  gjjk: [{ required: true, message: '请选择', trigger: 'blur' }],
+  xiaofang: [{ required: true, message: '请选择', trigger: 'blur' }],
+  jijiu: [{ required: true, message: '请选择', trigger: 'blur' }]
 })
 const formRef = ref() // 表单 Ref
 
+const handleDeptTreeNodeClick = (data: Tree) => {
+  console.log(data)
+
+  formData.value.deptId = data.id
+}
+
 /** 打开弹窗 */
 const open = async (type: string, id?: number) => {
   dialogVisible.value = true
@@ -225,15 +271,6 @@ const open = async (type: string, id?: number) => {
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
-// 手机号格式校验(不阻止提交)
-const validateMobileFormat = () => {
-  if (formData.value.mobile && !/^1[3-9]\d{9}$/.test(formData.value.mobile)) {
-    message.warning('手机号格式不正确,但不影响提交')
-    return false
-  }
-  return true
-}
-
 /** 提交表单 */
 const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
 const submitForm = async () => {
@@ -258,7 +295,7 @@ const submitForm = async () => {
     const data = { ...formData.value }
 
     if (formType.value === 'create') {
-      data.deptId = userStore.getUser.deptId
+      // data.deptId = userStore.getUser.deptId
       await CertPersonApi.createCertPerson(data)
       message.success(t('common.createSuccess'))
     } else {

+ 33 - 0
src/views/pms/qhse/certPerson/index.vue

@@ -189,6 +189,39 @@
             </template>
           </zm-table-column>
 
+          <zm-table-column label="国际井控证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.gjjk">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="消防证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.xiaofang">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="急救证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.jijiu">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
           <zm-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
 
           <zm-table-column label="操作" align="center" min-width="120px" action fixed="right">