397882612110d6f9e6b63822739e0a782138c902..0e079d8c08bbd0666ed627f4eec1188234ae3a5e
2025-11-07 wupengfei
feat: 接口
0e079d 对比 | 目录
2025-11-07 wupengfei
Merge branch 'master' into dev-1.3.0.1
49da3b 对比 | 目录
2025-11-07 wupengfei
feat: 接口
48f06e 对比 | 目录
2025-11-06 zhengyiming
feat: s
ddf8ea 对比 | 目录
9个文件已修改
1个文件已添加
256 ■■■■■ 已修改文件
pnpm-lock.yaml 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/task.ts 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/orderUtils.ts 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/CheckManage.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/CheckReceiveTaskDetail.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/TaskManageList.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/EnterpriseBalanceManageDetail.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pnpm-lock.yaml
@@ -15,7 +15,7 @@
dependencies:
  '@bole-12333/chat-kit':
    specifier: latest
    version: 1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11)
    version: 1.0.1(@tencentcloud/chat-uikit-engine@2.5.7)(lodash@4.17.21)(vue@3.5.11)
  '@bole-12333/customer-chat':
    specifier: latest
    version: 1.0.3(@bole-12333/chat-kit@1.0.1)(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(dayjs@1.11.6)(vue@3.5.11)
@@ -368,7 +368,7 @@
    version: 2.0.1(vite@6.0.6)
  vite-plugin-vue-enhance:
    specifier: latest
    version: 2.0.2(postcss-preset-env@10.0.0)(semver@7.6.3)(vite@6.0.6)
    version: 2.0.3(postcss-preset-env@10.0.0)(semver@7.6.3)(vite@6.0.6)
  vite-svg-loader:
    specifier: ^3.6.0
    version: 3.6.0
@@ -1850,14 +1850,14 @@
      '@babel/helper-validator-identifier': 7.25.9
    dev: false
  /@bole-12333/chat-kit@1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11):
  /@bole-12333/chat-kit@1.0.1(@tencentcloud/chat-uikit-engine@2.5.7)(lodash@4.17.21)(vue@3.5.11):
    resolution: {integrity: sha512-yeSh4XLagaM+uNZRdcG49mhDJO3UbYEpIYZS4Lk303ROnTwxuZyuh5jkoflnCFwWN3Ib3AolfQy999oOqF012A==}
    peerDependencies:
      '@tencentcloud/chat-uikit-engine': '*'
      lodash: '*'
      vue: 3.5.11
    dependencies:
      '@tencentcloud/chat-uikit-engine': 2.5.6
      '@tencentcloud/chat-uikit-engine': 2.5.7
      lodash: 4.17.21
      vue: 3.5.11(typescript@4.8.4)
    dev: false
@@ -1878,7 +1878,7 @@
      dayjs: '*'
      vue: 3.5.11
    dependencies:
      '@bole-12333/chat-kit': 1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11)
      '@bole-12333/chat-kit': 1.0.1(@tencentcloud/chat-uikit-engine@2.5.7)(lodash@4.17.21)(vue@3.5.11)
      '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
      '@tiptap/extension-document': 2.1.13(@tiptap/core@2.1.13)
      '@tiptap/extension-image': 2.1.13(@tiptap/core@2.1.13)
@@ -3706,18 +3706,10 @@
      tuikit-logger: 0.0.4-beta.1
    dev: false
  /@tencentcloud/call-engine-wx@3.3.0:
    resolution: {integrity: sha512-4oXRQhcWiVLX1PxcjCFjnEm53u3oguKsjas7zMvvvgh1UxsA9aiCl6xXIcGZ230w0rP4cQ6hA45S+EZrCIFP1g==}
  /@tencentcloud/call-uikit-vue2.6@4.0.11(vue@3.5.11):
    resolution: {integrity: sha512-2f7raW37qG762pS8PQ+bobAjDy0dh6dIMCuyXcVIGJMAEpw9JkYdYYN/1J+I/hHqXboELhYTYBvxU4XvD0H7kw==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/trtc-component-wx': 1.0.6
      eventemitter3: 4.0.7
    dev: false
  /@tencentcloud/call-uikit-vue2.6@4.0.9(vue@3.5.11):
    resolution: {integrity: sha512-XpB8eZriaKDygAvSN3tae2bzD/coQ2u31DyXcAt5VWcATQ1Cf410qZ0ZAa2yf08mhqHcfQtMT0hzi4etZxbZuw==}
    dependencies:
      '@tencentcloud/call-engine-wx': 3.3.0
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/tui-core': 2.5.1
      '@vue/composition-api': 1.7.2(vue@3.5.11)
@@ -3725,8 +3717,8 @@
      - vue
    dev: false
  /@tencentcloud/call-uikit-vue2@4.0.9:
    resolution: {integrity: sha512-dtG+LHEAqdgkJ4gB43mLAo/ZKo1NN8tBBhTliaccU5xhAuklHG5rns5MRTfdXfNSUirLK1CLfyVqXrNK05g1rA==}
  /@tencentcloud/call-uikit-vue2@4.0.11:
    resolution: {integrity: sha512-AlYdkzKDk5QMEAhZUR4MBnkD91Xou82KO/EZfO0fr5c2jrUKI9N0D8VpvMWWtPCGWO2hNrbeLAhdUxwcax++1g==}
    dependencies:
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
@@ -3740,16 +3732,16 @@
      tuicall-engine-webrtc: 3.1.7
    dev: false
  /@tencentcloud/call-uikit-vue@4.0.9:
    resolution: {integrity: sha512-TcbdRiTgeMVHqH6NS/EW0iyJkaIZxgjU3H/11fxNUjrMQsPyggRjtvCpy0nEfmpGpPDd1zp/d5u0f3O8Hj56rg==}
  /@tencentcloud/call-uikit-vue@4.0.11:
    resolution: {integrity: sha512-SeUPs5Ow/Y+spAlhzu7HeQY9Zjg4BWMl64JbLGrFv6M389hLOhL5ZFmHb9eqkUIggIQoY5Rrkn2A23CxMWUT/w==}
    dependencies:
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/tui-core': 2.5.1
    dev: false
  /@tencentcloud/chat-uikit-engine@2.5.6:
    resolution: {integrity: sha512-hzGkruR3j5S/9hx7HfGBWvHAZ7FZqpkl5LEz0z9sVm3faG/IaBkeTCjPmvN9kGIdDIan8Jn6mhVW57EEx7E8UQ==}
  /@tencentcloud/chat-uikit-engine@2.5.7:
    resolution: {integrity: sha512-2C2x84k7D2cCvSQQlxo4Erw1EYrYf0BTz7IJuqkA99ac91ZwO8vNZEtQbd7wF1h7adNMXoxESCjaR24iDBTDhg==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      tim-profanity-filter-plugin: 1.1.0
@@ -3769,10 +3761,10 @@
      '@tiptap/pm': ^2.0.0-beta.220
      '@tiptap/suggestion': ^2.0.0-beta.220
    dependencies:
      '@tencentcloud/call-uikit-vue': 4.0.9
      '@tencentcloud/call-uikit-vue2': 4.0.9
      '@tencentcloud/call-uikit-vue2.6': 4.0.9(vue@3.5.11)
      '@tencentcloud/chat-uikit-engine': 2.5.6
      '@tencentcloud/call-uikit-vue': 4.0.11
      '@tencentcloud/call-uikit-vue2': 4.0.11
      '@tencentcloud/call-uikit-vue2.6': 4.0.11(vue@3.5.11)
      '@tencentcloud/chat-uikit-engine': 2.5.7
      '@tencentcloud/tui-core': 2.5.1
      '@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.5.1)(vue@3.5.11)
      '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
@@ -3795,19 +3787,6 @@
  /@tencentcloud/chat@3.5.9:
    resolution: {integrity: sha512-DRCF5o1cZez1xjIFC8UmXE3NpWYfYWQ4+yjKtuOXk09N28dJSfdwYw2jyfJ2N0DWPB6icVCCxh2MDP+sp4HLpw==}
    dev: false
  /@tencentcloud/trtc-cloud-wx@1.0.8:
    resolution: {integrity: sha512-72TYYt6XNTr9Y401qw23YODfhLC9AGniNqb9ACFTVGDtInApHn139kGhKeudgTYEdTObkG1JjUcdkfcknHGhSA==}
    dependencies:
      eventemitter3: 5.0.1
      trtc-wx-sdk: 1.1.14
    dev: false
  /@tencentcloud/trtc-component-wx@1.0.6:
    resolution: {integrity: sha512-3m2ZU3/upx3IJAhSPdElJ2AF1D7L/0JOXUpanYJbrtHlwTWDQ6BOc+p6HgsepE67ltpR7UcYF/BcVHEfpcObkA==}
    dependencies:
      '@tencentcloud/trtc-cloud-wx': 1.0.8
    dev: false
  /@tencentcloud/tui-core@2.0.0:
@@ -8354,10 +8333,6 @@
  /eventemitter3@4.0.7:
    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    dev: false
  /eventemitter3@5.0.1:
    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    dev: false
  /execa@5.1.1:
@@ -14980,10 +14955,6 @@
      webrtc-adapter: 8.2.3
    dev: false
  /trtc-wx-sdk@1.1.14:
    resolution: {integrity: sha512-QYV2j5pDlhbM0zykYq8OYaSpjyTn0/YbsK180iNwCLEA61m2KWm2wb1veRBVsTP9Lq0iqbSMU17cOW963vcraA==}
    dev: false
  /ts-api-utils@1.3.0(typescript@4.8.4):
    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    engines: {node: '>=16'}
@@ -15862,8 +15833,8 @@
      - supports-color
    dev: true
  /vite-plugin-vue-enhance@2.0.2(postcss-preset-env@10.0.0)(semver@7.6.3)(vite@6.0.6):
    resolution: {integrity: sha512-dtX/tMGfYGYxyrXhH+bOf4GkMQ3wd7dYj0w3Q3AAwJYJO8NBoA+QuPlAgNvZHEeWWKPzZxBq2cLOmWBvavstng==}
  /vite-plugin-vue-enhance@2.0.3(postcss-preset-env@10.0.0)(semver@7.6.3)(vite@6.0.6):
    resolution: {integrity: sha512-nJ0ab7ps11iAXCjQxpXbtg6w/DfSKVd8BOzayUJ9igJYHokDOc0vPCov2jcJ+DCgtiE2EuF+8Qs3gMA5hSXhCQ==}
    peerDependencies:
      postcss-preset-env: '*'
      semver: '*'
src/services/api/task.ts
@@ -32,6 +32,24 @@
  });
}
/** 计算任务总服务费 POST /api/flexjob/task/calcTaskTotalServiceFee */
export async function calcTaskTotalServiceFee(
  body: API.CalcTaskTotalServiceFeeCommand,
  options?: API.RequestConfig
) {
  return request<API.CalcTaskTotalServiceFeeCommandResult>(
    '/api/flexjob/task/calcTaskTotalServiceFee',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 删除任务 DELETE /api/flexjob/task/deleteTaskInfo */
export async function deleteTaskInfo(body: API.DeleteTaskInfoCommand, options?: API.RequestConfig) {
  return request<number>('/api/flexjob/task/deleteTaskInfo', {
src/services/api/typings.d.ts
@@ -519,6 +519,27 @@
    timeoutFee?: number;
  }
  interface CalcTaskTotalServiceFeeCommand {
    billingMethod?: EnumBillingMethod;
    /** 服务费 */
    serviceFee?: number;
    /** 核定工时 */
    verifyWorkHours?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    /** 需求人数 */
    needPeopleNumber?: number;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
  }
  interface CalcTaskTotalServiceFeeCommandResult {
    /** 服务费 */
    totalServiceFee?: number;
  }
  interface ChangePhoneNumberCommand {
    /** 手机号码 */
    phoneNumber: string;
@@ -557,10 +578,6 @@
    taskInfoUserId?: string;
    /** 日期 */
    date?: string;
    /** 签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    checkOutTime?: string;
    /** 服务费(元) */
    serviceFee?: number;
    /** 超时(小时) */
@@ -573,6 +590,10 @@
    remark?: string;
    /** 结算金额 */
    settlementAmount?: number;
    /** 签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    checkOutTime?: string;
    checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
  }
@@ -1633,6 +1654,24 @@
    /** 错误码 */
    errorCode?: string;
    data?: CalcTaskCheckReceiveCommandResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultCalcTaskTotalServiceFeeCommandResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: CalcTaskTotalServiceFeeCommandResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -3919,10 +3958,16 @@
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
    /** 签到时间 */
    /** 用户签到时间 */
    userCheckInTime?: string;
    /** 用户签出时间 */
    userCheckOutTime?: string;
    userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 人工签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    /** 人工签出时间 */
    checkOutTime?: string;
    checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 操作人 */
    operator?: string;
    /** 最近提交时间 */
@@ -3947,6 +3992,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 任务开始时间 */
    beginTime?: string;
@@ -4003,6 +4050,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 发布时间 */
    createdTime?: string;
@@ -4066,6 +4115,7 @@
    checkTime?: string;
    /** 操作人 */
    operator?: string;
    operatorType?: EnumUserType;
    type?: EnumTaskUserSubmitCheckHistoryType;
  }
@@ -4078,6 +4128,16 @@
    /** 提交时间 */
    createdTime?: string;
    checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
    /** 用户签到时间 */
    userCheckInTime?: string;
    /** 用户签出时间 */
    userCheckOutTime?: string;
    userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 人工签到时间 */
    checkInTime?: string;
    /** 人工签出时间 */
    checkOutTime?: string;
    checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 验收照片 */
    files?: string[];
  }
@@ -4102,10 +4162,16 @@
    id?: string;
    /** 验收时间 */
    date?: string;
    /** 签到时间 */
    /** 用户签到时间 */
    userCheckInTime?: string;
    /** 用户签出时间 */
    userCheckOutTime?: string;
    userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 人工签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    /** 人工签出时间 */
    checkOutTime?: string;
    checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 操作人 */
    operator?: string;
    /** 提交时间 */
@@ -5631,6 +5697,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 福利 */
    benefits?: GetTaskInfoQueryResultBenefit[];
@@ -5688,6 +5756,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 福利 */
    benefits?: GetTaskInfoQueryResultBenefit[];
@@ -5738,6 +5808,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 福利 */
    benefits?: GetTaskInfoQueryResultBenefit[];
@@ -6466,6 +6538,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementAccess?: EnumEnterpriseWalletAccess;
    settlementOrderStatus?: EnumTaskSettlementOrderStatus;
    /** 结算单名称 */
@@ -6729,6 +6803,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 结算日期 */
    settlementDate?: number;
@@ -6878,6 +6954,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 福利 */
    benefits?: GetTaskInfoQueryResultBenefit[];
@@ -8216,6 +8294,8 @@
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    /** 总件数 */
    totalPieceQuantity?: number;
    settlementCycle: EnumSettlementCycle;
    /** 结算日期 */
    settlementDate: number;
@@ -8603,6 +8683,11 @@
    taskInfoId?: string;
    /** 日期 */
    date?: string;
    /** 用户签到时间 */
    userCheckInTime?: string;
    /** 用户签出时间 */
    userCheckOutTime?: string;
    userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType;
    /** 附件 */
    files?: string[];
  }
src/utils/index.ts
@@ -5,3 +5,4 @@
export * from './module';
export * from './theme';
export * from './validator';
export * from './orderUtils';
src/utils/orderUtils.ts
New file
@@ -0,0 +1,13 @@
export class OrderUtils {
  static getServiceFeeText(serviceFee: number, billingMethod: EnumBillingMethod) {
    if (billingMethod === EnumBillingMethod.Face) {
      return EnumBillingMethodUnitText[billingMethod];
    }
    return `${serviceFee ?? 0}${EnumBillingMethodUnitText[billingMethod]}`;
  }
  static isContainCheckIn(checkReceiveMethods: EnumTaskCheckReceiveMethod[]) {
    if (!checkReceiveMethods) return false;
    return checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn);
  }
}
src/views/EmploymentManage/CheckManage.vue
@@ -63,7 +63,7 @@
import { CheckManageColumns } from './constants';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import { ModelValueType } from 'element-plus';
import { downloadFileByUrl, format, setOSSLink } from '@/utils';
import { downloadFileByUrl, format, OrderUtils, setOSSLink } from '@/utils';
import { EnumTaskCheckReceiveStatusText } from '@/constants';
defineOptions({
@@ -169,10 +169,8 @@
      },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return row.billingMethod === EnumBillingMethod.Face
            ? ''
            : `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        formatter: (row: API.GetCheckReceiveTasksQueryResultItem) => {
          return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
        },
      },
      settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText },
src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -16,11 +16,7 @@
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="服务费金额:">
                {{
                  taskInfo.billingMethod === EnumBillingMethod.Face
                    ? EnumBillingMethodText[taskInfo.billingMethod]
                    : `${taskInfo.serviceFee}${EnumBillingMethodUnitText[taskInfo.billingMethod]}`
                }}
                {{ OrderUtils.getServiceFeeText(taskInfo.serviceFee, taskInfo.billingMethod) }}
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
@@ -74,6 +70,7 @@
import * as taskServices from '@/services/api/task';
import { useQuery } from '@tanstack/vue-query';
import { CheckReceiveTaskDetailColumns } from './constants';
import { OrderUtils } from '@/utils';
import { EnumBillingMethodUnitText, EnumBillingMethod, EnumBillingMethodText } from '@/constants';
import dayjs from 'dayjs';
import CheckManageDialog from './components/CheckManageDialog.vue';
src/views/EmploymentManage/TaskManageList.vue
@@ -78,7 +78,7 @@
import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
import * as taskServices from '@/services/api/task';
import { format } from '@/utils';
import { format, OrderUtils } from '@/utils';
import { ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
import dayjs from 'dayjs';
@@ -225,10 +225,8 @@
      endTime: { type: 'date', format: 'YYYY-MM-DD' },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return row.billingMethod === EnumBillingMethod.Face
            ? ''
            : `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        formatter: (row: API.GetTaskInfosQueryResultItem) => {
          return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
        },
      },
      applyBeginTime: { type: 'date', format: 'YYYY-MM-DD' },
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -56,12 +56,7 @@
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <template
            v-if="
              form.billingMethod === EnumBillingMethod.Hour ||
              form.billingMethod === EnumBillingMethod.Day
            "
          >
          <template v-if="form.billingMethod === EnumBillingMethod.Hour">
            <ProFormCol>
              <ProFormColItem :span="12">
                <ProFormItemV2
@@ -105,7 +100,25 @@
              </ProFormColItem>
            </ProFormCol>
          </template>
          <ProFormCol v-if="form.billingMethod === EnumBillingMethod.Piece">
            <ProFormColItem :span="12">
              <ProFormItemV2
                label="总件数:"
                prop="totalPieceQuantity"
                :check-rules="[{ message: '请输入总件数' }]"
              >
                <ProFormInputNumber
                  :controls="false"
                  v-model="form.totalPieceQuantity"
                  placeholder="请输入总件数"
                  :min="0"
                  :max="999999999999"
                  unit="件"
                  :disabled="feeCannotEdit"
                ></ProFormInputNumber>
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
              <ProFormItemV2
@@ -440,6 +453,7 @@
  serviceFee: null,
  settlementCycle: EnumSettlementCycle.Day,
  settlementDate: null as number,
  totalPieceQuantity: null as number,
  benefits: [] as string[],
  ageMinLimit: null,
  ageMaxLimit: null,
@@ -473,6 +487,7 @@
    form.serviceFee = data.serviceFee;
    form.settlementCycle = data.settlementCycle;
    form.settlementDate = data.settlementDate;
    form.totalPieceQuantity = data.totalPieceQuantity;
    form.benefits = data.benefits?.map((x) => x.benefitCode) ?? [];
    form.ageMinLimit = data.ageMinLimit;
    form.ageMaxLimit = data.ageMaxLimit;
@@ -541,6 +556,7 @@
      serviceFee: form.serviceFee,
      settlementCycle: form.settlementCycle,
      settlementDate: form.settlementDate ? form.settlementDate : 0,
      totalPieceQuantity: form.totalPieceQuantity,
      benefits: form.benefits,
      ageMinLimit: form.ageMinLimit,
      ageMaxLimit: form.ageMaxLimit,
src/views/FinanceManage/EnterpriseBalanceManageDetail.vue
@@ -41,6 +41,7 @@
            </QueryFilterItem>
          </template>
          <template #btn>
            <el-button type="primary" @click="handleExport()">回单导出</el-button>
            <el-button type="primary" @click="handleExport()">导出</el-button>
          </template>
        </ProTableQueryFilterBar>