|
@@ -2,19 +2,26 @@
|
|
|
<hc-new-card :title="rowItem.id ? '编辑证书' : '新增证书'">
|
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" label-width="auto">
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="16">
|
|
|
+ <el-col :span="formModel.certificateType !== 1 && Number(formModel.company) === 3 ? 24 : 16 ">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="证书类型:" prop="certificateType">
|
|
|
<div class="form-item-div">
|
|
|
- <el-radio-group v-model="formModel.certificateType">
|
|
|
+ <el-radio-group v-model="formModel.certificateType" @change="certificateTypeChange">
|
|
|
<el-radio :value="1">个人证书</el-radio>
|
|
|
<el-radio :value="2">企业证书</el-radio>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col v-if="formModel.certificateType === 2" :span="12">
|
|
|
+ <el-form-item label="签字公司:" prop="company">
|
|
|
+ <el-select v-model="formModel.company" filterable clearable block>
|
|
|
+ <el-option v-for="item in companyData" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="formModel.certificateType === 1" :span="12">
|
|
|
<el-form-item label="关联用户:" prop="certificateUserId">
|
|
|
<el-select-v2 v-model="formModel.certificateUserId" :options="users" placeholder="选择关联用户" filterable block @change="usersChange" />
|
|
|
</el-form-item>
|
|
@@ -24,24 +31,36 @@
|
|
|
<el-input v-model="formModel.certificateUserName" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col v-if="formModel.certificateType === 1 && Number(formModel.company) !== 3" :span="12">
|
|
|
<el-form-item label="所持证书者身份证号码:" prop="certificateId">
|
|
|
<el-input v-model="formModel.certificateId" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col v-if="formModel.certificateType === 2 && Number(formModel.company) !== 3" :span="12">
|
|
|
+ <el-form-item label="企业统一社会信用代码:" prop="enterpriseUnifiedCode">
|
|
|
+ <el-input v-model="formModel.enterpriseUnifiedCode" clearable />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="证书编号:" prop="certificateNumber">
|
|
|
<el-input v-model="formModel.certificateNumber" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col v-if="Number(formModel.company) !== 3" :span="12">
|
|
|
<el-form-item label="证书密码:" prop="certificatePassword">
|
|
|
<el-input v-model="formModel.certificatePassword" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col v-else :span="12">
|
|
|
+ <el-form-item label="签章类型:" prop="pfxType">
|
|
|
+ <el-select v-model="formModel.pfxType" filterable clearable block>
|
|
|
+ <el-option v-for="item in pfxTypeData" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ <el-col v-if="formModel.certificateType === 1 || (formModel.certificateType === 2 && Number(formModel.company) === 2)" :span="8">
|
|
|
<el-form-item prop="certificateFileUrl">
|
|
|
<template #label>
|
|
|
<div class="hc-form-item-label">
|
|
@@ -89,6 +108,7 @@
|
|
|
import { nextTick, onMounted, ref } from 'vue'
|
|
|
import { getHeader } from 'hc-vue3-ui'
|
|
|
import { getArrValue, getObjValue, isNullES } from 'js-fast-way'
|
|
|
+import { getDictionaryData } from '~uti/tools'
|
|
|
import adminApi from '~api/certificate/admin'
|
|
|
import mainApi from '~api/certificate/list'
|
|
|
|
|
@@ -116,6 +136,8 @@ const getDataApi = () => {
|
|
|
getDetailData(id)
|
|
|
}
|
|
|
findUserByName()
|
|
|
+ getCompanyData()
|
|
|
+ getPfxTypeData()
|
|
|
}
|
|
|
|
|
|
//获取数据详情
|
|
@@ -149,6 +171,21 @@ const usersChange = (val) => {
|
|
|
formModel.value.certificatePassword = item.plaintextPassword
|
|
|
}
|
|
|
|
|
|
+//签字公司
|
|
|
+const companyData = ref([])
|
|
|
+const getCompanyData = async () => {
|
|
|
+ companyData.value = await getDictionaryData('es_type_name', true)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//签章类型
|
|
|
+const pfxTypeData = ref([])
|
|
|
+const getPfxTypeData = async () => {
|
|
|
+ const { data } = await mainApi.findPfxType({
|
|
|
+ typeOrStatus: 'pfx_type',
|
|
|
+ })
|
|
|
+ pfxTypeData.value = getArrValue(data)
|
|
|
+}
|
|
|
|
|
|
//菜单表单
|
|
|
const formRef = ref(null)
|
|
@@ -193,6 +230,14 @@ const formRules = {
|
|
|
},
|
|
|
}
|
|
|
|
|
|
+//切换类型
|
|
|
+const certificateTypeChange = () => {
|
|
|
+ const { certificateType, company } = formModel.value
|
|
|
+ if (certificateType === 2) {
|
|
|
+ formModel.value.company = company ?? 2
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//上传文件
|
|
|
const uploadRef = ref(null)
|
|
|
const uploadParams = ref({})
|