应急管理厅专家管理系统
祖安之光
14 hours ago 49b46688641b7a4ba074dedccbcc5547f879ec0a
src/views/safetyReview/expertManage/applyRecords/components/expertForm.vue
@@ -35,7 +35,7 @@
                <el-cascader
                    style="width: 100%"
                    clearable
                    :disabled="state.disable"
                    :disabled="state.findDept || disable"
                    v-model="state.form.deptId"
                    :options="state.deptList"
                    :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"></el-cascader>
@@ -548,6 +548,7 @@
const state = reactive({
  assessDialog: false,
  findDept: true,
  form: {
    id: null,
    name: '',
@@ -662,12 +663,21 @@
    state.form.bigClassify = null
    state.form.smallClassify = null
  }
  const foundType = findNodeById(state.expertsType,value[1])
  if(foundType.deptId){
    state.form.deptId = foundType.deptId
    state.findDept = true
  }else{
    ElMessage.warning('该专业未找到对应的业务处室,请手动选择')
    state.form.deptId = null
    state.findDept = false
  }
}
const findNodeById = (data,value)=> {
  for (const node of data) {
    if (node.id === value) {
      return node.classifyName;
      return node;
    }
    if (node.children) {
      const foundNode = findNodeById(node.children, value);
@@ -953,7 +963,7 @@
      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.domain = findNodeById(state.expertsType,data.smallClassify)?.classifyName
      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(',') : ''