| | |
| | | <el-form :model="state.form" :rules="state.rules" ref="ruleFormRef" label-width="200px"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="专业类别" prop="domain"> |
| | | <el-form-item label="专业类别" prop="profession"> |
| | | <el-cascader |
| | | style="width: 100%" |
| | | clearable |
| | | v-model="state.form.domain" |
| | | :disabled="state.disable" |
| | | v-model="state.form.profession" |
| | | :options="state.expertsType" |
| | | :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName',emitPath: false }" |
| | | :props="{ expandTrigger: 'hover', value: 'id',label: 'classifyName'}" |
| | | @change="professionChange"></el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | form:{ |
| | | name:'', |
| | | sex:'', |
| | | profession: [], |
| | | bigClassify: null, |
| | | smallClassify: null, |
| | | domain: '', |
| | | deptId: null, |
| | | birthday: '', |
| | |
| | | rules:{ |
| | | name:[{ required: true, message: '请填写姓名', trigger: 'blur' }], |
| | | sex:[{ required: true, message: '请选择性别', trigger: 'blur' }], |
| | | domain: [{ required: true, message: '请选择专业类别', trigger: 'blur' }], |
| | | profession: [{ required: true, message: '请选择专业类别', trigger: 'blur' }], |
| | | deptId: [{ required: true, message: '请选择业务处室', trigger: 'blur' }], |
| | | birthday: [{ required: true, message: '请选择出生日期', trigger: 'blur' }], |
| | | phone:[{ required: true, validator: validatePhone, trigger: 'blur' }], |
| | |
| | | } |
| | | } |
| | | |
| | | const professionChange = (value) => { |
| | | if (!value) { |
| | | state.form.profession = [] |
| | | state.form.bigClassify = null |
| | | state.form.smallClassify = null |
| | | } |
| | | } |
| | | |
| | | const findNodeById = (data,value)=> { |
| | | for (const node of data) { |
| | | if (node.id === value) { |
| | | return node.classifyName; |
| | | } |
| | | if (node.children) { |
| | | const foundNode = findNodeById(node.children, value); |
| | | if (foundNode) { |
| | | return foundNode; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | function getDepList() { |
| | | listOutDept({}).then(response => { |
| | | state.deptList = proxy.handleTree(response.data, "deptId",'parentId','children'); |
| | | }); |
| | | } |
| | | |
| | | const professionChange=(value)=> { |
| | | console.log(value,'val') |
| | | } |
| | | |
| | | |
| | | |
| | | // 图片上传 |
| | | const showTip =()=>{ |
| | |
| | | await formEl.validate(async (valid, fields) => { |
| | | if (valid) { |
| | | let data = JSON.parse(JSON.stringify(state.form)) |
| | | data.bigClassify = data.profession[0] |
| | | data.smallClassify = data.profession[1] |
| | | data.domain = findNodeById(state.expertsType,data.smallClassify) |
| | | data.supportDirectionSafety = Array.isArray(data.supportDirectionSafety)?data.supportDirectionSafety.join(','):'' |
| | | data.supportDirectionPrevention = Array.isArray(data.supportDirectionPrevention)?data.supportDirectionPrevention.join(','):'' |
| | | data.supportDirectionEmergency = Array.isArray(data.supportDirectionEmergency)?data.supportDirectionEmergency.join(','):'' |
| | |
| | | data.achievementKey = state.achievementList.map(i=>i.name).join(',') |
| | | data.personalOpinionKey = state.proAdviceList.map(i=>i.name).join(',') |
| | | data.recommendUnitOpinionKey = state.adviceList.map(i=>i.name).join(',') |
| | | delete data.profession |
| | | delete data.id |
| | | const res= await addExpertInfo(data) |
| | | if(res.code == 200){ |
| | |
| | | state.form = { |
| | | name:'', |
| | | sex:'', |
| | | profession: [], |
| | | bigClassify: null, |
| | | smallClassify: null, |
| | | domain: '', |
| | | birthday: '', |
| | | phone:'', |