wupengfei
2025-11-13 8cef2483dcfc4c40d861caaf58d618387f5ab80c
feat: 1.3.0.2
7个文件已修改
82 ■■■■ 已修改文件
src/views/EmploymentManage/TaskManageList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FlexJobManage/FlexJobContractManage.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FlexJobManage/FlexJobManage.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FlexJobManage/components/AddInternalStaffDialog.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FlexJobManage/components/SignDetailView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Permission/components/dialogAuthorizeV2.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/TaskManageList.vue
@@ -53,10 +53,10 @@
      </ProTableQueryFilterBar>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #userCount="{ row }">
          <el-button v-if="row.isInternal" link type="primary" @click="goSignList(row)">{{
          <el-button v-if="!row.isInternal" link type="primary" @click="goSignList(row)">{{
            row.userCount || 0
          }}</el-button>
          <span v-else>{{ row.userCount || 0 }}</span>
          <span v-else>/</span>
        </template>
      </ProTableV2>
    </AppContainer>
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -16,7 +16,11 @@
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
              <ProFormItemV2 label="需求人数:" prop="needPeopleNumber">
              <ProFormItemV2
                label="需求人数:"
                prop="needPeopleNumber"
                :check-rules="[{ message: '请输入需求人数' }]"
              >
                <ProFormInputNumber
                  :controls="false"
                  v-model="form.needPeopleNumber"
@@ -307,7 +311,20 @@
              <ProFormItemV2
                label="任务时间:"
                prop="time"
                :check-rules="[{ message: '请选择任务时间', type: 'array' }]"
                :check-rules="[
                  { message: '请选择任务时间', type: 'array' },
                  {
                    validator: (rule, value, callback) => {
                      if (form.billingMethod === EnumBillingMethod.Month) {
                        if (dayjs(form.time[1]).diff(dayjs(form.time[0]), 'month') < 1) {
                          callback(new Error('月结任务时任务时间需大于一个月'));
                        }
                        callback();
                      }
                      callback();
                    },
                  },
                ]"
              >
                <ProFormDatePicker
                  v-model="form.time"
@@ -655,7 +672,7 @@
        callback: (action) => {
          if (action === 'confirm') {
            router.push({
              name: 'BalanceManageV2',
              name: 'EnterpriseBalanceManage',
            });
          }
        },
src/views/FlexJobManage/FlexJobContractManage.vue
@@ -170,8 +170,9 @@
      hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
        !(
          row.userSignContractStatus !== EnumTaskUserSignContractStatus.Pass &&
          row.hireStatus === EnumTaskUserHireStatus.Pass &&
          row.source === EnumEnterpriseEmployeeSource.Internal
          ((row.hireStatus === EnumTaskUserHireStatus.Pass &&
            row.source === EnumEnterpriseEmployeeSource.External) ||
            row.source === EnumEnterpriseEmployeeSource.Internal)
        ),
    },
  },
src/views/FlexJobManage/FlexJobManage.vue
@@ -217,7 +217,11 @@
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => openDialog(role),
      onClick: (role) => openInternalDialog(role),
    },
    extraProps: {
      hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
        row.source === EnumEnterpriseEmployeeSource.External,
    },
  },
  detailBtn: {
@@ -657,10 +661,12 @@
const {
  dialogProps: dialogAddInternalStaffProps,
  handleAdd: handleInternalStaffAdd,
  handleEdit: handleInternalStaffEdit,
  editForm: internalStaffEditForm,
} = useFormDialog({
  onConfirm: addEnterpriseEmployee,
  defaultFormParams: {
    id: '',
    name: '',
    identity: '',
    contactPhoneNumber: '',
@@ -676,8 +682,32 @@
  },
});
async function openInternalDialog(row: API.GetEnterpriseEmployeesQueryResultItem) {
  try {
    let detail = await enterpriseEmployeeServices.getEnterpriseEmployee({ id: row.id });
    handleInternalStaffEdit({
      id: row.id,
      name: row.name,
      identity: row.identity,
      contactPhoneNumber: row.contactPhoneNumber,
      gender: detail.gender,
      age: detail.age ?? null,
      identityImg: convertApi2FormUrlOnlyOne(detail.identityImg),
      identityBackImg: convertApi2FormUrlOnlyOne(detail.identityBackImg),
      contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, {
        fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '合同',
      }),
      regiterTime: detail.applyTime ?? '',
      userRealTime: row.userRealTime ?? '',
      userSignContractTime: row.userSignContractTime ?? '',
      contractTime: [row.contractBegin, row.contractEnd],
    });
  } catch (error) {}
}
async function addEnterpriseEmployee() {
  try {
    const isEdit = !!internalStaffEditForm.id;
    let params: API.AddEnterpriseEmployeeCommand = {
      name: internalStaffEditForm.name,
      identity: internalStaffEditForm.identity,
@@ -690,7 +720,13 @@
      contractBegin: format(internalStaffEditForm.contractTime[0], 'YYYY-MM-DD 00:00:00'),
      contractEnd: format(internalStaffEditForm.contractTime[1], 'YYYY-MM-DD 23:59:59'),
    };
    let res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
    let res;
    if (isEdit) {
      (params as API.EditEnterpriseEmployeeCommand).id = internalStaffEditForm.id;
      res = await enterpriseEmployeeServices.editEnterpriseEmployee(params);
    } else {
      res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
    }
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
src/views/FlexJobManage/components/AddInternalStaffDialog.vue
@@ -38,11 +38,7 @@
          </ProFormItemV2>
        </ProFormColItem>
        <ProFormColItem :span="12">
          <ProFormItemV2
            label="协议时间:"
            prop="contractTime"
            :check-rules="[{ message: '请选择协议时间', type: 'array' }]"
          >
          <ProFormItemV2 label="协议时间:" prop="contractTime">
            <ProFormDatePicker
              v-model="form.contractTime"
              type="daterange"
@@ -157,6 +153,7 @@
type Form = {
  title?: string;
  id: string;
  name: string;
  identity: string;
  contactPhoneNumber: string;
src/views/FlexJobManage/components/SignDetailView.vue
@@ -45,7 +45,7 @@
const column = defineColumns([
  {
    id: '1',
    enCode: 'enterpriseName',
    enCode: 'sourceName',
    name: '所属客户',
  },
  {
src/views/Permission/components/dialogAuthorizeV2.vue
@@ -21,6 +21,7 @@
            node-key="id"
            :expand-on-click-node="false"
            :highlight-current="true"
            check-strictly
            default-expand-all
            show-checkbox
            ref="moduleTree"