Browse Source

更新字典获取方式

lifanagju_citu 11 months ago
parent
commit
fcb513d1dd

+ 18 - 25
src/views/resume/components/basicInfo.vue

@@ -135,7 +135,8 @@ const formItems = ref({
       label: '性别',
       col: 6,
       width: 70,
-      items: [{ label: '男', value: 0 }, { label: '女', value: 1 }],
+      dictTypeName: 'system_user_sex',
+      items: [],
     },
     {
       type: 'datepicker',
@@ -191,6 +192,7 @@ const formItems = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
+      dictTypeName: 'menduner_exp_type',
       rules: [v => !!v || '请选择工作经验'],
       items: []
     },
@@ -204,6 +206,7 @@ const formItems = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
+      dictTypeName: 'menduner_education_type',
       rules: [v => !!v || '请选择最高学历'],
       items: []
     },
@@ -217,6 +220,7 @@ const formItems = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
+      dictTypeName: 'menduner_job_type',
       rules: [v => !!v || '请选择求职类型'],
       items: []
     },
@@ -258,15 +262,6 @@ const formItems = ref({
     },
   ]
 })
-const transformItems = ['expType', 'eduType','jobType', 'areaId']
-formItems.value.options.forEach((e, index) => {
-  if ((index + 2) % 2 === 0) e.flexStyle = 'mr-3'
-  // 回显
-  if (baseInfo.value[e.key]) e.value = baseInfo.value[e.key]
-  // 日期相关
-  if (e.type === 'datepicker') e.value = timesTampChange(e.value).slice(0, 10)
-})
-
 
 // 保存-基础信息
 const handleSave = async () => {
@@ -276,7 +271,6 @@ const handleSave = async () => {
   formItems.value.options.forEach(e => {
     if (e.noReturn) return
     else if (e.type === 'datepicker') obj[e.key] = getTimeStamp(e.value)
-    else if (transformItems.includes(e.key) && e.value && e.value !== 0) obj[e.key] = e.value
     else obj[e.key] = e.value
   })
   await saveResumeBasicInfo(obj)
@@ -287,24 +281,23 @@ const handleSave = async () => {
   await getBasicInfo()
 }
 
-
 // 获取字典内容
-const getDictData = async (obj) => {
-  const item = formItems.value.options.find(e => e.key === obj.key)
-  if (item) { //  && !item.items?.length
-    const { data } = await getDict(obj.type)
+const getDictData = async (dictTypeName) => {
+  const item = formItems.value.options.find(e => e.dictTypeName === dictTypeName)
+  if (item) {
+    const { data } = await getDict(dictTypeName)
     item.items = data
   }
 }
-const getOptions = () => {
-  const dictList = [
-    { type: 'menduner_exp_type', key: 'expType' },
-    { type: 'menduner_education_type', key: 'eduType' },
-    { type: 'menduner_job_type', key: 'jobType' }
-  ]
-  dictList.forEach(obj =>  getDictData(obj))
-}
-getOptions()
+
+formItems.value.options.forEach((e, index) => {
+  if ((index + 2) % 2 === 0) e.flexStyle = 'mr-3'
+  if (e.dictTypeName) getDictData(e.dictTypeName) // 查字典set options
+  // formItems回显
+  if (baseInfo.value[e.key]) e.value = baseInfo.value[e.key]
+  // 日期相关
+  if (e.type === 'datepicker') e.value = timesTampChange(e.value).slice(0, 10)
+})
 </script>
 <style lang="scss" scoped>
 

+ 0 - 4
src/views/resume/components/educationExp.vue

@@ -64,9 +64,7 @@ const dictItemsObj = reactive({})
 dictItemsObj.educationSystemType = [{ label: '全日制', value: '0' }, { label: '非全日制', value: '1' }]
 
 // 学校下拉列表
-// const schoolName = ref('')
 const getSchoolListData = async (name, init = '') => {
-  // schoolName.value = name
   const item = formItems.value.options.find(e => e.key === 'schoolId')
   if (!item) return
   item[item.itemTextName] = name
@@ -103,7 +101,6 @@ const formItems = ref({
       outlined: true,
       clearable: true,
       canBeInputted: true, //
-      // itemValueName: 'schoolId',
       itemTextName: 'schoolName',
       itemText: 'value',
       itemValue: 'key',
@@ -121,7 +118,6 @@ const formItems = ref({
       outlined: true,
       clearable: true,
       canBeInputted: true, //
-      // itemValueName: 'majorId',
       itemTextName: 'major',
       itemText: 'nameCn',
       itemValue: 'id',