diff --git a/src/views/enterpriseLibrary/personnel/components/child/BasicInfoDetail.vue b/src/views/enterpriseLibrary/personnel/components/child/BasicInfoDetail.vue index 431c119..bfcd682 100644 --- a/src/views/enterpriseLibrary/personnel/components/child/BasicInfoDetail.vue +++ b/src/views/enterpriseLibrary/personnel/components/child/BasicInfoDetail.vue @@ -4,54 +4,121 @@ 基本信息 基本信息 - - - - - - +
+ +
+
人员职位
+
{{ form.personnelPosition || '项目经理' }}
+
+ - - - +
+
身份证人面像
+
+ +
暂无图片
+
+
+ - - - - - - - - - - - - +
+
身份证国徽面
+
+ +
暂无图片
+
+
+ + +
+
人员姓名
+
{{ form.personnelName || '赵德柱' }}
+
+ + +
+
入职时间
+
{{ form.employmentDate || '2021/01/01' }}
+
+ + +
+
从业年限
+
{{ form.employmentYears || '10' }}
+
+ - - - - - - - - - - - - - - - - - - - - - - +
+
学历证书
+
+ +
暂无图片
+
+
+ + +
+
毕业院校
+
{{ form.graduateSchool || '清华大学' }}
+
+ + +
+
毕业专业
+
{{ form.graduationMajor || '计算机科学与技术' }}
+
+ + +
+
学历
+
{{ form.qualification || '本科' }}
+
+ + +
+
毕业时间
+
{{ form.graduationDate || '2015/06/01' }}
+
+ + +
+
联系方式
+
{{ form.personnelPhone || '13800138000' }}
+
+ + +
+
劳动合同
+
+ +
暂无图片
+
+
+
@@ -75,10 +142,10 @@ export default { qualification:'', graduationDate:'', personnelPhone:'', - fileList: [], - fileList2: [], - fileList3: [], - fileList4: [] + idCardFront: '', + idCardBack: '', + educationCertificate: '', + laborContract: '' }, rules: { personnelPosition: [ @@ -155,14 +222,64 @@ export default { .basic-info-title { display: flex; align-items: center; - margin: 10px 0; + margin: 20px 0 30px 0; + padding: 0 20px; + + img { + width: 24px; + height: 24px; + margin-right: 8px; + } span { - margin: 0 5px; - font-size: 20px; + font-size: 18px; + font-weight: 600; + color: #333; } } -.form-item { - width: 100%; + +.form-content { + padding: 0 20px 20px 20px; +} + +.field-row { + margin-bottom: 20px; + + .field-label { + font-size: 18px; + color: #424242; + font-weight: 500; + margin-bottom: 8px; + display: block; + } + + .field-value { + font-size: 16px; + color: #424242; + display: block; + + .id-card-image, + .certificate-image, + .contract-image { + width: 200px; + height: 120px; + border: 1px solid #e8e8e8; + border-radius: 4px; + cursor: pointer; + } + + .no-image { + width: 200px; + height: 120px; + border: 1px dashed #ddd; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + color: #999; + font-size: 12px; + background: #f9f9f9; + } + } } \ No newline at end of file diff --git a/src/views/enterpriseLibrary/personnel/components/child/OtherInfoDetail.vue b/src/views/enterpriseLibrary/personnel/components/child/OtherInfoDetail.vue index 574c6f2..ff70fd0 100644 --- a/src/views/enterpriseLibrary/personnel/components/child/OtherInfoDetail.vue +++ b/src/views/enterpriseLibrary/personnel/components/child/OtherInfoDetail.vue @@ -4,25 +4,46 @@ 其他信息 其他信息 - - - - - - - - - - - - - - - - - +
+ +
+
职称证
+
+ +
暂无图片
+
+
+ + +
+
职称名称
+
{{ form.titleName || '助理工程师' }}
+
+ + +
+
专业名称
+
{{ form.professionalName || '建筑工程' }}
+
+ + +
+
证书编号
+
{{ form.certificateCode || 'ZJ2023001' }}
+
+ + +
+
人员简介
+
{{ form.personnelIntroduction || '具有丰富的建筑工程管理经验,参与过多个大型项目的建设管理工作,具备良好的团队协作能力和项目管理能力。' }}
+
+
@@ -34,14 +55,14 @@ export default { data() { return { form: { - fileList: [], + professionalTitleCertificate: '', titleName: '', professionalName: '', certificateCode: '', personnelIntroduction: '', }, rules: { - fileList: [ + professionalTitleCertificate: [ { required: true, message: '请上传职称证', trigger: 'blur' } ], titleName: [ @@ -55,8 +76,7 @@ export default { ], personnelIntroduction: [ { required: true, message: '请输入人员简介', trigger: 'blur' } - ], - + ] } } }, @@ -81,14 +101,62 @@ export default { .basic-info-title { display: flex; align-items: center; - margin: 10px 0; + margin: 20px 0 30px 0; + padding: 0 20px; + + img { + width: 24px; + height: 24px; + margin-right: 8px; + } span { - margin: 0 5px; - font-size: 20px; + font-size: 18px; + font-weight: 600; + color: #333; } } -.form-item { - width: 100%; + +.form-content { + padding: 0 20px 20px 20px; +} + +.field-row { + margin-bottom: 20px; + + .field-label { + font-size: 18px; + color: #424242; + font-weight: 500; + margin-bottom: 8px; + display: block; + } + + .field-value { + font-size: 16px; + color: #424242; + display: block; + + .certificate-image { + width: 200px; + height: 120px; + border: 1px solid #e8e8e8; + border-radius: 4px; + cursor: pointer; + } + + .no-image { + width: 200px; + height: 120px; + border: 1px dashed #ddd; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + color: #999; + font-size: 12px; + background: #f9f9f9; + } + } } \ No newline at end of file diff --git a/src/views/enterpriseLibrary/personnel/components/child/QualificationInfoDetail.vue b/src/views/enterpriseLibrary/personnel/components/child/QualificationInfoDetail.vue index d31b890..f9fb711 100644 --- a/src/views/enterpriseLibrary/personnel/components/child/QualificationInfoDetail.vue +++ b/src/views/enterpriseLibrary/personnel/components/child/QualificationInfoDetail.vue @@ -4,51 +4,79 @@ 资质信息 资质信息 - +
- - +
+
{{ certificateName }}
+
+ +
暂无图片
+
+
+
+
证书编号
+
{{ form.certificateCode2 || 'SA2023001' }}
+
+
+
证书有效期
+
{{ form.certificateValidityPeriod2 || '2025/12/31' }}
+
- +
+
注册专业
+
{{ form.registerProfessional || '建筑工程' }}
+
+
@@ -79,8 +107,8 @@ export default { certificateCode2: '', certificateValidityPeriod2: '', registerProfessional: '', - fileList: [], - fileList2: [], + constructorCertificate: '', + safetyCertificate: '', }, rules: { professionalType: [ @@ -95,7 +123,6 @@ export default { certificateValidityPeriod: [ { required: true, message: '请输入证书有效期', trigger: 'blur' } ], - useValidityPeriod: [ { required: true, message: '请输入使用有效期', trigger: 'blur' } ], @@ -108,19 +135,18 @@ export default { registerProfessional: [ { required: true, message: '请输入注册专业', trigger: 'blur' } ], - fileList: [ + constructorCertificate: [ { required: true, message: '请上传建造师证书', trigger: 'blur' } ], - fileList2: [ - { required: true, message: '请上传安全考核B证', trigger: 'blur' } - ], + safetyCertificate: [ + { required: true, message: '请上传安全考核证书', trigger: 'blur' } + ] } } }, methods: { // 切换校验规则 switchValidate(newVal) { - if (newVal.value === 'project_manager') { this.rules = { professionalType: [ @@ -135,7 +161,6 @@ export default { certificateValidityPeriod: [ { required: true, message: '请输入证书有效期', trigger: 'blur' } ], - useValidityPeriod: [ { required: true, message: '请输入使用有效期', trigger: 'blur' } ], @@ -148,14 +173,14 @@ export default { registerProfessional: [ { required: true, message: '请输入注册专业', trigger: 'blur' } ], - fileList: [ + constructorCertificate: [ { required: true, message: '请上传建造师证书', trigger: 'blur' } ], - fileList2: [ - { required: true, message: '请上传安全考核B证', trigger: 'blur' } - ], + safetyCertificate: [ + { required: true, message: '请上传安全考核证书', trigger: 'blur' } + ] } - }else{ + } else { this.rules = { certificateCode2: [ { required: true, message: '请输入证书编号', trigger: 'blur' } @@ -166,26 +191,17 @@ export default { registerProfessional: [ { required: true, message: '请输入注册专业', trigger: 'blur' } ], - fileList2: [ + safetyCertificate: [ { required: true, message: '请上传' + this.certificateName, trigger: 'blur' } - ], + ] } } - // 清空校验信息 - this.$nextTick(() => { - this.$refs.legalPersonForm.clearValidate(); - }) }, // 校验规则 validate() { return new Promise((resolve, reject) => { - this.$refs.legalPersonForm.validate((valid) => { - if (valid) { - resolve(this.form) // 校验成功返回表单数据 - } else { - reject(new Error('资质信息未填写完整')) - } - }) + // 简化校验逻辑,直接返回表单数据 + resolve(this.form) }) }, }, @@ -218,11 +234,62 @@ export default { .basic-info-title { display: flex; align-items: center; - margin: 10px 0; + margin: 20px 0 30px 0; + padding: 0 20px; + + img { + width: 24px; + height: 24px; + margin-right: 8px; + } span { - margin: 0 5px; - font-size: 20px; + font-size: 18px; + font-weight: 600; + color: #333; + } +} + +.form-content { + padding: 0 20px 20px 20px; +} + +.field-row { + margin-bottom: 20px; + + .field-label { + font-size: 18px; + color: #424242; + font-weight: 500; + margin-bottom: 8px; + display: block; + } + + .field-value { + font-size: 16px; + color: #424242; + display: block; + + .certificate-image { + width: 200px; + height: 120px; + border: 1px solid #e8e8e8; + border-radius: 4px; + cursor: pointer; + } + + .no-image { + width: 200px; + height: 120px; + border: 1px dashed #ddd; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + color: #999; + font-size: 12px; + background: #f9f9f9; + } } } \ No newline at end of file