huminmin
4 小时以前 6cf70610b0d700c64b9753590283fdfa5cf43493
新增入职,岗位根据系统设置选择,修改列表岗位显示
已修改5个文件
65 ■■■■ 文件已修改
src/api/system/post.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/dimission/components/formDia.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/dimission/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/onboarding/components/formDia.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/onboarding/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/post.js
@@ -9,6 +9,15 @@
  })
}
export function findPostOptions(query) {
  return request({
    url: '/system/post/optionselect',
    method: 'get',
    params: query
  })
}
// 查询岗位详细
export function getPost(postId) {
  return request({
src/views/personnelManagement/dimission/components/formDia.vue
@@ -44,7 +44,7 @@
          <el-row :gutter="30">
            <el-col :span="12">
              <el-form-item label="岗位:">
                {{ form.postJob || '-' }}
                {{ form.postName || '-' }}
              </el-form-item>
            </el-col>
            <el-col :span="12">
@@ -180,7 +180,8 @@
    staffName: "",
    sex: "",
    nativePlace: "",
    postJob: "",
    postName: "",
    sysPostId: 0,
    adress: "",
    firstStudy: "",
    profession: "",
@@ -233,6 +234,9 @@
  if (form.value.dimissionReason !== 'other') {
    form.value.dimissionRemark = ''
  }
  if (!form.value.sysPostId) {
    form.value.sysPostId = 0;
  }
  proxy.$refs["formRef"].validate(valid => {
    if (valid) {
      if (operationType.value === "add") {
@@ -258,7 +262,8 @@
    staffName: "",
    sex: "",
    nativePlace: "",
    postJob: "",
    postName: "",
    sysPostId: 0,
    adress: "",
    firstStudy: "",
    profession: "",
@@ -300,7 +305,8 @@
      phone,
      staffNo,
      nativePlace,
      postJob,
      postName,
      sysPostId,
      adress,
      firstStudy,
      profession,
@@ -319,7 +325,8 @@
      phone,
      staffNo,
      nativePlace,
      postJob,
      postName,
      sysPostId,
      adress,
      firstStudy,
      profession,
src/views/personnelManagement/dimission/index.vue
@@ -110,7 +110,7 @@
  },
  {
    label: "岗位",
    prop: "postJob",
    prop: "postName",
  },
  {
    label: "现住址",
src/views/personnelManagement/onboarding/components/formDia.vue
@@ -36,8 +36,16 @@
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="岗位:" prop="postJob">
              <el-input v-model="form.postJob" placeholder="请输入" clearable/>
            <el-form-item label="岗位:" prop="sysPostId">
              <el-select v-model="form.sysPostId" placeholder="请选择岗位" clearable>
                <el-option
                    v-for="item in postOptions"
                    :key="item.postId"
                    :label="item.postName"
                    :value="item.postId"
                    :disabled="item.status === '1'"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -131,8 +139,9 @@
</template>
<script setup>
import {ref} from "vue";
import {ref, onMounted} from "vue";
import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
import {findPostOptions} from "@/api/system/post.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -156,6 +165,7 @@
    contractStartTime: "",
    contractEndTime: "",
    staffState: "",
    sysPostId: undefined,
  },
  rules: {
    staffNo: [{ required: true, message: "请输入", trigger: "blur" },],
@@ -174,8 +184,9 @@
    contractStartTime: [{ required: true, message: "请输入", trigger: "blur" }],
    contractEndTime: [{ required: true, message: "请输入", trigger: "blur" }],
  },
  postOptions: [], // 岗位选项
});
const { form, rules } = toRefs(data);
const { form, rules, postOptions } = toRefs(data);
// 打开弹框
const openDialog = (type, row) => {
@@ -184,15 +195,31 @@
  if (operationType.value === 'edit') {
    getStaffJoinInfo(row.id).then(res => {
      form.value = {...res.data}
      if (form.value.sysPostId === 0) {
        form.value.sysPostId = undefined
      }
      // 编辑时也计算一次合同年限
      calculateContractTerm();
    })
  } else {
        form.value.id = ''
    }
}
onMounted(() => {
  fetchPostOptions()
})
const fetchPostOptions = () => {
  findPostOptions().then(res => {
    postOptions.value = res.data
  })
}
// 提交产品表单
const submitForm = () => {
  if (!form.value.sysPostId) {
    form.value.sysPostId = 0;
  }
  proxy.$refs.formRef.validate(valid => {
    if (valid) {
      form.value.staffState = 1
src/views/personnelManagement/onboarding/index.vue
@@ -111,7 +111,7 @@
  },
  {
    label: "岗位",
    prop: "postJob",
    prop: "postName",
  },
  {
    label: "现住址",