|
@@ -207,6 +207,10 @@
|
|
|
<span class="summary-label">梯队</span>
|
|
<span class="summary-label">梯队</span>
|
|
|
<strong>{{ activeExpert.team || '-' }}</strong>
|
|
<strong>{{ activeExpert.team || '-' }}</strong>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="summary-item">
|
|
|
|
|
+ <span class="summary-label">专业方向</span>
|
|
|
|
|
+ <strong>{{ activeExpert.direction?.join('、') || '-' }}</strong>
|
|
|
|
|
+ </div>
|
|
|
<div class="summary-item">
|
|
<div class="summary-item">
|
|
|
<span class="summary-label">目前所在单位</span>
|
|
<span class="summary-label">目前所在单位</span>
|
|
|
<strong>{{ activeExpert.company || '-' }}</strong>
|
|
<strong>{{ activeExpert.company || '-' }}</strong>
|
|
@@ -423,12 +427,10 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="所属团队" prop="teamIds">
|
|
|
|
|
- <div class="team-select-field">
|
|
|
|
|
- <el-input :model-value="selectedTeamNames" placeholder="请选择所属团队" readonly />
|
|
|
|
|
- <el-button type="primary" plain @click="openTeamDialog">选择团队</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <el-form-item label="职称" prop="professionalTitle">
|
|
|
|
|
+ <el-input v-model="formData.professionalTitle" placeholder="请输入职称" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
@@ -463,23 +465,21 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="历任岗位" prop="formerPost">
|
|
|
|
|
- <el-input v-model="formData.formerPost" placeholder="请输入历任岗位" />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
-
|
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<el-form-item label="岗位" prop="jobTitle">
|
|
<el-form-item label="岗位" prop="jobTitle">
|
|
|
<el-input v-model="formData.jobTitle" placeholder="请输入岗位" />
|
|
<el-input v-model="formData.jobTitle" placeholder="请输入岗位" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="职称" prop="professionalTitle">
|
|
|
|
|
- <el-input v-model="formData.professionalTitle" placeholder="请输入职称" />
|
|
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <el-form-item label="历任岗位" prop="formerPost">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ type="textarea"
|
|
|
|
|
+ v-model="formData.formerPost"
|
|
|
|
|
+ placeholder="请输入历任岗位"
|
|
|
|
|
+ />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
@@ -761,6 +761,7 @@ type ExpertItem = {
|
|
|
professionalTitle: string
|
|
professionalTitle: string
|
|
|
jobTitle: string
|
|
jobTitle: string
|
|
|
formerPost: string
|
|
formerPost: string
|
|
|
|
|
+ softwareSkillsLabel: string
|
|
|
teamIds: number[]
|
|
teamIds: number[]
|
|
|
avatar: string
|
|
avatar: string
|
|
|
birthday: number | null
|
|
birthday: number | null
|
|
@@ -914,6 +915,7 @@ const buildExpertProfile = (expert: ExpertItem, groupLabel?: string): ExpertProf
|
|
|
name: expert.expertName,
|
|
name: expert.expertName,
|
|
|
avatar: expert.avatar || '',
|
|
avatar: expert.avatar || '',
|
|
|
role: rankLabels.join('、') || '专家',
|
|
role: rankLabels.join('、') || '专家',
|
|
|
|
|
+ softwareSkillsLabel: softwareSkillLabels || '暂无',
|
|
|
team: groupLabel || getDictLabel(DICT_TYPE.RD_EXPERT_ECHELON, expert.echelon) || '未分组',
|
|
team: groupLabel || getDictLabel(DICT_TYPE.RD_EXPERT_ECHELON, expert.echelon) || '未分组',
|
|
|
company: getDeptName(expert.deptId) || '-',
|
|
company: getDeptName(expert.deptId) || '-',
|
|
|
age: getExpertAge(expert.birthday),
|
|
age: getExpertAge(expert.birthday),
|
|
@@ -1350,7 +1352,7 @@ onMounted(async () => {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
width: max-content;
|
|
width: max-content;
|
|
|
gap: 14px;
|
|
gap: 14px;
|
|
|
- animation: expert-carousel-scroll 32s linear infinite;
|
|
|
|
|
|
|
+ animation: expert-carousel-scroll 100s linear infinite;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.carousel-track:hover {
|
|
.carousel-track:hover {
|