Bladeren bron

职位管理

Xiao_123 4 maanden geleden
bovenliggende
commit
a8152c03a2

+ 4 - 4
src/views/menduner/system/talentMap/hotel/HotelForm.vue

@@ -25,7 +25,7 @@
       <el-form-item label="定位级别(英)" prop="positioning_level_en">
         <el-input v-model="formData.positioning_level_en" placeholder="请输入定位级别(英)" />
       </el-form-item>
-      <el-form-item label="标签状态" prop="status">
+      <el-form-item label="状态" prop="status">
         <el-radio-group v-model="formData.status">
           <el-radio
             v-for="dict in statusOptions"
@@ -94,7 +94,6 @@ const open = async (type, data) => {
   if (data && Object.keys(data).length) {
     formData.value = { ...data }
     valueKeys.forEach(key => editItemData.value[key] = data[key])
-    if (data.status === 'disable') formData.value.status = 'inactive'
   }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -106,9 +105,10 @@ const submitForm = async () => {
   if (!formRef) return
   await formRef.value.validate()
 
-  const params = { ...formData.value }
+  const params = {}
   // 更新标签时,至少需要提供一个要更新的项
   if (formType.value === 'update') {
+    valueKeys.forEach(key => params[key] = formData.value[key])
     const isEqual = _.isEqual(params, editItemData.value)
     if (isEqual) return message.warning('请修改任意项后再提交!')
   }
@@ -117,7 +117,7 @@ const submitForm = async () => {
   formLoading.value = true
   try {
     if (formType.value === 'create') {
-      await talentHotelGroupBrandApi.create(params)
+      await talentHotelGroupBrandApi.create(formData.value)
       message.success(t('common.createSuccess'))
     } else {
       await talentHotelGroupBrandApi.update(formData.value.id, params)

+ 1 - 1
src/views/menduner/system/talentMap/hotel/index.vue

@@ -58,7 +58,7 @@
       <el-table-column label="品牌英文名称" align="center" prop="brand_name_en" :show-overflow-tooltip="true" />
       <el-table-column label="定位级别中文名称" align="center" prop="positioning_level_zh" />
       <el-table-column label="定位级别英文名称" align="center" prop="positioning_level_en" :show-overflow-tooltip="true" />
-      <el-table-column label="酒店状态" align="center" prop="status">
+      <el-table-column label="状态" align="center" prop="status">
         <template #default="scope">
           <el-tag :type="scope.row.status === 'active' ? 'success' : 'danger'">
             {{ scope.row.status === 'active' ? '已启用' : '已禁用' }}

+ 13 - 18
src/views/menduner/system/talentMap/position/PositionForm.vue

@@ -28,7 +28,7 @@
       <el-form-item label="职级(英)" prop="level_en">
         <el-input v-model="formData.level_en" placeholder="请输入职级名称(英)" />
       </el-form-item>
-      <el-form-item label="标签状态" prop="status">
+      <el-form-item label="状态" prop="status">
         <el-radio-group v-model="formData.status">
           <el-radio
             v-for="dict in statusOptions"
@@ -86,10 +86,10 @@ const formRules = reactive({
 })
 
 /** 打开弹窗 */
-// const valueKeys = ['name', 'category', 'status', 'description']
-// const editItemData = ref({})
+const valueKeys = ['department_zh', 'department_en', 'position_zh', 'position_en', 'position_abbr', 'level_zh', 'level_en', 'status']
+const editItemData = ref({})
 const open = async (type, data) => {
-  // editItemData.value = {}
+  editItemData.value = {}
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
@@ -98,7 +98,7 @@ const open = async (type, data) => {
   // 修改时,设置数据
   if (data && Object.keys(data).length) {
     formData.value = _.cloneDeep(data)
-    // valueKeys.forEach(key => editItemData.value[key] = data[key])
+    valueKeys.forEach(key => editItemData.value[key] = data[key])
   }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -110,17 +110,13 @@ const submitForm = async () => {
   if (!formRef) return
   await formRef.value.validate()
 
-  // const params = {
-  //   status: formData.value.status,
-  //   category: formData.value.category,
-  //   description: formData.value.description,
-  //   name: formData.value.name
-  // }
-  // // 更新标签时,至少需要提供一个要更新的项
-  // if (formType.value === 'update') {
-  //   const isEqual = _.isEqual(params, editItemData.value)
-  //   if (isEqual) return message.warning('请修改任意项后再提交!')
-  // }
+  // 更新标签时,至少需要提供一个要更新的项
+  const params = {}
+  if (formType.value === 'update') {
+    valueKeys.forEach(key => params[key] = formData.value[key])
+    const isEqual = _.isEqual(params, editItemData.value)
+    if (isEqual) return message.warning('请修改任意项后再提交!')
+  }
 
   // 提交请求
   formLoading.value = true
@@ -129,8 +125,7 @@ const submitForm = async () => {
       await talentPositionApi.createHotelPosition(formData.value)
       message.success(t('common.createSuccess'))
     } else {
-      const { id, ...rest } = formData.value
-      await talentPositionApi.updateHotelPosition(id, rest)
+      await talentPositionApi.updateHotelPosition(formData.value.id, params)
       message.success(t('common.updateSuccess'))
     }
     dialogVisible.value = false

+ 1 - 1
src/views/menduner/system/talentMap/position/index.vue

@@ -74,7 +74,7 @@
       <el-table-column label="职位英文名称缩写" align="center" prop="position_abbr" />
       <el-table-column label="职级中文名称" align="center" prop="level_zh" />
       <el-table-column label="职级英文名称" align="center" prop="level_en" />
-      <el-table-column label="标签状态" align="center" prop="status">
+      <el-table-column label="状态" align="center" prop="status">
         <template #default="scope">
           <el-tag :type="scope.row.status === 'active' ? 'success' : 'danger'">
             {{ scope.row.status === 'active' ? '已启用' : '已禁用' }}