wupengfei
2 天以前 ff185cfb6950ad2d7472f83c2bbf3c0364cde1f7
feat: 1.2.0.1
8个文件已修改
387 ■■■■■ 已修改文件
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/apiEnum.ts 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/task.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/index.ts 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/task.ts 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/taskCheckReceive.ts 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/user.ts 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -32,6 +32,46 @@
          <div class="form-input-unit">{{ BillingMethodEnumUnit[form.billingMethod] }}</div>
        </div>
      </nut-form-item>
      <template v-if="form.billingMethod === EnumBillingMethod.Hour">
        <nut-form-item
          label="核定工时:"
          class="bole-form-item"
          prop="verifyWorkHours"
          label-width="90"
        >
          <div class="bole-form-input-wrapper">
            <NumberInput
              v-model.trim="form.verifyWorkHours"
              class="nut-input-text bole-input-text"
              placeholder="请输入核定工时"
              :min="0"
              :max="999999999999"
              :precision="2"
              type="text"
            />
            <div class="form-input-unit">{{ '小时/天' }}</div>
          </div>
        </nut-form-item>
        <nut-form-item
          label="超时服务费:"
          class="bole-form-item"
          prop="timeoutServiceFee"
          label-width="90"
        >
          <div class="bole-form-input-wrapper">
            <NumberInput
              v-model.trim="form.timeoutServiceFee"
              class="nut-input-text bole-input-text"
              placeholder="请输入超时服务费"
              :min="0"
              :max="999999999999"
              :precision="2"
              type="text"
            />
            <div class="form-input-unit">{{ '元/小时' }}</div>
          </div>
        </nut-form-item>
      </template>
      <nut-form-item
        label="结算方式:"
        class="bole-form-item"
@@ -134,13 +174,15 @@
        />
      </nut-form-item>
      <nut-form-item
        label="详细地址:"
        label="地点说明:"
        class="bole-form-item"
        prop="addressDetail"
        label-width="90px"
        required
      >
        <nut-input v-model="form.addressDetail" placeholder="请输入详细地址"> </nut-input>
        <nut-input v-model="form.addressDetail" placeholder="请输入地点说明"> </nut-input>
      </nut-form-item>
      <nut-form-item label="任务说明:" class="bole-form-item" prop="description" label-width="90px">
        <nut-textarea v-model="form.description" placeholder="请输入任务说明"> </nut-textarea>
      </nut-form-item>
      <nut-form-item
        label="任务开始日期:"
@@ -160,6 +202,45 @@
          :minDate="nowDate"
          placeholder="请选择任务结束日期"
        ></ChooseInputWithDatePicker>
      </nut-form-item>
      <nut-form-item
        label="报名开始日期:"
        class="bole-form-item"
        prop="applyBeginTime"
        label-width="90px"
      >
        <ChooseInputWithDatePicker
          v-model="form.applyBeginTime"
          :minDate="form.beginTime ? dayjs(form.beginTime).toDate() : nowDate"
          placeholder="请选择报名开始日期"
        ></ChooseInputWithDatePicker>
      </nut-form-item>
      <nut-form-item
        label="报名结束日期:"
        class="bole-form-item"
        prop="applyEndTime"
        label-width="90px"
      >
        <ChooseInputWithDatePicker
          v-model="form.applyEndTime"
          :max-date="form.endTime ? dayjs(form.endTime).toDate() : nowDate"
          placeholder="请选择报名结束日期"
        ></ChooseInputWithDatePicker>
      </nut-form-item>
      <nut-form-item
        label="验收方式:"
        class="bole-form-item"
        prop="checkReceiveMethod"
        label-width="90px"
      >
        <nut-radio-group v-model="form.checkReceiveMethod" direction="horizontal">
          <BlRadio
            :label="Number(key)"
            v-for="(val, key) in EnumTaskCheckReceiveMethodText"
            :key="key"
            >{{ val }}</BlRadio
          >
        </nut-radio-group>
      </nut-form-item>
    </nut-form>
  </ContentScrollView>
@@ -183,6 +264,8 @@
  EnumUserGenderTextOptions,
  EnumSettlementCycleDateWeekArray,
  EnumSettlementCycleDateMonthArray,
  EnumTaskCheckReceiveMethod,
  EnumTaskCheckReceiveMethodText,
} from '@12333/constants';
import {
  ChooseInputWithPicker,
@@ -249,13 +332,20 @@
  weMapInfo: {} as WeMapModel,
  addressDetail: '',
  verifyWorkHours: null as number,
  timeoutServiceFee: null as number,
  description: '',
  checkReceiveMethod: EnumTaskCheckReceiveMethod.CheckIn,
  applyBeginTime: '',
  applyEndTime: '',
});
const rules = reactive<FormRules>({
  name: [{ required: true, message: '请输入任务名称' }],
  genderLimit: [{ required: true, message: '请选择性别要求' }],
  settlementCycleDate: [{ required: true, message: '请设置结算日期' }],
  addressDetail: [{ required: true, message: '请输入详细地址' }],
  // addressDetail: [{ required: true, message: '请输入详细地址' }],
  billingMethod: [
    {
      required: true,
@@ -354,6 +444,12 @@
      longitude: data.longitude,
      addressName: data.addressName,
    };
    form.description = data.description;
    form.verifyWorkHours = data.verifyWorkHours;
    form.timeoutServiceFee = data.timeoutServiceFee;
    form.checkReceiveMethod = data.checkReceiveMethod;
    form.applyBeginTime = dayjs(data.applyBeginTime).format('YYYY-MM-DD');
    form.applyEndTime = dayjs(data.applyEndTime).format('YYYY-MM-DD');
  },
});
@@ -388,6 +484,12 @@
      latitude: form.weMapInfo.latitude,
      beginTime: dayjs(form.beginTime).format('YYYY-MM-DD 00:00:00'),
      endTime: dayjs(form.endTime).format('YYYY-MM-DD 23:59:59'),
      description: form.description,
      verifyWorkHours: form.verifyWorkHours,
      timeoutServiceFee: form.timeoutServiceFee,
      checkReceiveMethod: form.checkReceiveMethod,
      applyBeginTime: dayjs(form.applyBeginTime).format('YYYY-MM-DD 00:00:00'),
      applyEndTime: dayjs(form.applyEndTime).format('YYYY-MM-DD 23:59:59'),
    };
    if (isEdit) {
      params.id = taskId;
packages/constants/apiEnum.ts
@@ -485,6 +485,16 @@
  Stopped = 100,
}
/** 任务结算审核状态 */
export enum EnumTaskSettlementAuditStatus {
  /**待审核 */
  Wait = 10,
  /**审核通过 */
  Pass = 20,
  /**驳回 */
  Fail = 30,
}
/** 任务结算单状态 */
export enum EnumTaskSettlementOrderStatus {
  /**待上传 */
@@ -545,15 +555,27 @@
  Stop = 50,
}
/** 任务人员提交信息签到记录类型 */
export enum EnumTaskUserSubmitCheckHistoryType {
  /**签到 */
  CheckIn = 10,
  /**签出 */
  CheckOut = 20,
  /**未到岗 */
  UnCheckIn = 30,
  /**未签出 */
  UnCheckOut = 40,
}
/** 任务验收状态 */
export enum EnumTaskUserSubmitCheckReceiveStatus {
  /**待提交 */
  WaitSubmit = 10,
  /**待验收/未到岗 */
  /**待验收 */
  WaitCheckReceive = 20,
  /**验收通过/已签到 */
  Success = 30,
  /**验收未通过 */
  /**验收未通过/未到岗 */
  Fail = 40,
}
packages/constants/task.ts
@@ -13,6 +13,7 @@
  GetTaskInfoQueryResultHireButton,
  GetTaskInfoQueryResultApplyButton,
  EnumTaskUserSubmitCheckReceiveStatus,
  EnumTaskCheckReceiveMethod,
} from './apiEnum';
export const EnumBillingMethodText = {
@@ -20,6 +21,7 @@
  [EnumBillingMethod.Day]: '按日',
  [EnumBillingMethod.Hour]: '按时',
  [EnumBillingMethod.Piece]: '计件',
  [EnumBillingMethod.Face]: '面议',
};
export const EnumUserGenderText = {
@@ -155,3 +157,8 @@
  [GetTaskInfoQueryResultApplyButton.WaitHire]: '待确认',
  [GetTaskInfoQueryResultApplyButton.WaitSignContract]: '去签约',
};
export const EnumTaskCheckReceiveMethodText = {
  [EnumTaskCheckReceiveMethod.CheckIn]: '人工签到',
  [EnumTaskCheckReceiveMethod.Submit]: '自主提交',
};
packages/services/apiV2/index.ts
@@ -5,11 +5,12 @@
import * as enterpriseEmployee from './enterpriseEmployee';
import * as user from './user';
import * as role from './role';
import * as enterpriseWallet from './enterpriseWallet';
import * as ocrUtils from './ocrUtils';
import * as task from './task';
import * as enterprise from './enterprise';
import * as logRecords from './logRecords';
import * as resource from './resource';
import * as enterpriseWallet from './enterpriseWallet';
import * as dictionary from './dictionary';
import * as codeUrl from './codeUrl';
import * as electronSign from './electronSign';
@@ -18,21 +19,21 @@
import * as taskCheckReceive from './taskCheckReceive';
import * as taskUser from './taskUser';
import * as sms from './sms';
import * as logRecords from './logRecords';
import * as menu from './menu';
import * as fileUtils from './fileUtils';
import * as userWallet from './userWallet';
import * as settings from './settings';
import * as menu from './menu';
import * as userWallet from './userWallet';
import * as fileUtils from './fileUtils';
import * as syncDatabase from './syncDatabase';
export default {
  enterpriseEmployee,
  user,
  role,
  enterpriseWallet,
  ocrUtils,
  task,
  enterprise,
  logRecords,
  resource,
  enterpriseWallet,
  dictionary,
  codeUrl,
  electronSign,
@@ -41,10 +42,9 @@
  taskCheckReceive,
  taskUser,
  sms,
  logRecords,
  menu,
  fileUtils,
  userWallet,
  settings,
  menu,
  userWallet,
  fileUtils,
  syncDatabase,
};
packages/services/apiV2/task.ts
@@ -2,6 +2,21 @@
// @ts-ignore
import { request } from '@/utils/request';
/** 审核任务结算 POST /api/flexjob/task/auditTaskSettlement */
export async function auditTaskSettlement(
  body: API.AuditTaskSettlementCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/task/auditTaskSettlement', {
    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', {
packages/services/apiV2/taskCheckReceive.ts
@@ -86,6 +86,24 @@
  );
}
/** 查询验收任务详情-签到签出记录 POST /api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmitCheckHistories */
export async function getCheckReceiveTaskUserSubmitCheckHistories(
  body: API.GetCheckReceiveTaskUserSubmitCheckHistoriesQuery,
  options?: API.RequestConfig
) {
  return request<API.GetCheckReceiveTaskUserSubmitCheckHistoriesQueryResult>(
    '/api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmitCheckHistories',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 查询验收详情 POST /api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmits */
export async function getCheckReceiveTaskUserSubmits(
  body: API.GetCheckReceiveTaskUserSubmitsQuery,
packages/services/apiV2/typings.d.ts
@@ -344,6 +344,14 @@
    ids?: string[];
  }
  interface AuditTaskSettlementCommand {
    /** 结算订单Id */
    id?: string;
    auditStatus?: EnumTaskSettlementAuditStatus;
    /** 审核备注 */
    auditRemark?: string;
  }
  interface BaiduOcrBusinessLicenseResultModel {
    /** 企业全称 */
    enterpriseName?: string;
@@ -397,6 +405,16 @@
    sessionKey: string;
  }
  interface BuildOperatorTokenCommand {
    /** 操作密码 */
    password?: string;
  }
  interface BuildOperatorTokenCommandResult {
    /** 操作令牌 */
    operatorToken?: string;
  }
  interface ChangePhoneNumberCommand {
    /** 手机号码 */
    phoneNumber: string;
@@ -416,9 +434,18 @@
  type CheckHealthQuery = Record<string, any>;
  interface CheckOperatorTokenCommand {
    /** 操作令牌 */
    operatorToken?: string;
  }
  interface CheckReceiveTaskCommand {
    /** 提交Id */
    id?: string;
    /** 签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    checkOutTime?: string;
    checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
  }
@@ -494,6 +521,8 @@
  interface EditTaskSettlementOrderRosterCommand {
    /** 名单Id */
    id?: string;
    /** 累计工时 */
    totalWorkHours?: number;
    /** 结算金额 */
    settlementAmount: number;
    /** 实发金额 */
@@ -1015,6 +1044,15 @@
    Stopped = 100,
  }
  enum EnumTaskSettlementAuditStatus {
    /**待审核 */
    Wait = 10,
    /**审核通过 */
    Pass = 20,
    /**驳回 */
    Fail = 30,
  }
  enum EnumTaskSettlementOrderStatus {
    /**待上传 */
    Wait = 10,
@@ -1069,14 +1107,25 @@
    Stop = 50,
  }
  enum EnumTaskUserSubmitCheckHistoryType {
    /**签到 */
    CheckIn = 10,
    /**签出 */
    CheckOut = 20,
    /**未到岗 */
    UnCheckIn = 30,
    /**未签出 */
    UnCheckOut = 40,
  }
  enum EnumTaskUserSubmitCheckReceiveStatus {
    /**待提交 */
    WaitSubmit = 10,
    /**待验收/未到岗 */
    /**待验收 */
    WaitCheckReceive = 20,
    /**验收通过/已签到 */
    Success = 30,
    /**验收未通过 */
    /**验收未通过/未到岗 */
    Fail = 40,
  }
@@ -1313,6 +1362,24 @@
    timestamp?: number;
  }
  interface FriendlyResultBuildOperatorTokenCommandResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: BuildOperatorTokenCommandResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultEnterpriseUserElectronSignCommandResult {
    /** 跟踪Id */
    traceId?: string;
@@ -1411,6 +1478,24 @@
    /** 错误码 */
    errorCode?: string;
    data?: GetCheckReceiveTasksQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetCheckReceiveTaskUserSubmitCheckHistoriesQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetCheckReceiveTaskUserSubmitCheckHistoriesQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -3373,6 +3458,12 @@
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
    /** 签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    checkOutTime?: string;
    /** 操作人 */
    operator?: string;
    /** 最近提交时间 */
    lastSubmitTime?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
@@ -3462,6 +3553,45 @@
    lastCheckReceiveTime?: string;
  }
  interface GetCheckReceiveTaskUserSubmitCheckHistoriesQuery {
    /** 任务Id */
    taskInfoId?: string;
    /** 日期 */
    date?: string;
    type?: EnumTaskUserSubmitCheckHistoryType;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetCheckReceiveTaskUserSubmitCheckHistoriesQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetCheckReceiveTaskUserSubmitCheckHistoriesQueryResultItem[];
  }
  interface GetCheckReceiveTaskUserSubmitCheckHistoriesQueryResultItem {
    /** 记录Id */
    id?: string;
    /** 头像 */
    avatar?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    gender?: EnumUserGender;
    /** 年龄 */
    age?: number;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
    /** 签到签出时间 */
    checkTime?: string;
    /** 操作人 */
    operator?: string;
    type?: EnumTaskUserSubmitCheckHistoryType;
  }
  interface GetCheckReceiveTaskUserSubmitQueryResult {
    /** 提交Id */
    id?: string;
@@ -3495,6 +3625,12 @@
    id?: string;
    /** 验收时间 */
    date?: string;
    /** 签到时间 */
    checkInTime?: string;
    /** 签出时间 */
    checkOutTime?: string;
    /** 操作人 */
    operator?: string;
    /** 提交时间 */
    createdTime?: string;
    /** 验收照片 */
@@ -5534,10 +5670,21 @@
  interface GetSettlementTaskUsersQueryResultDetail {
    /** 结算订单Id */
    id?: string;
    /** 校验验收起始日期 */
    checkReceiveBeginDate?: string;
    /** 校验验收截止日期 */
    checkReceiveEndDate?: string;
    /** 任务名称 */
    name?: string;
    /** 任务单号 */
    code?: string;
    billingMethod?: EnumBillingMethod;
    /** 服务费 */
    serviceFee?: number;
    /** 核定工时 */
    verifyWorkHours?: number;
    /** 超时服务费 */
    timeoutServiceFee?: number;
    settlementOrderStatus?: EnumTaskSettlementOrderStatus;
    /** 结算单名称 */
    settlementOrderName?: string;
@@ -5557,6 +5704,8 @@
  interface GetSettlementTaskUsersQueryResultItem {
    /** 结算名单Id */
    id?: string;
    /** 任务人员Id */
    taskInfoUserId?: string;
    /** 用户信息Id */
    userId?: string;
    /** 姓名 */
@@ -5565,6 +5714,8 @@
    identity?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 累计工时 */
    totalWorkHours?: number;
    /** 所属银行 */
    bank?: string;
    /** 开户支行名称 */
@@ -6435,6 +6586,8 @@
    bankBranch?: string;
    /** 收款账户 */
    receiveAccount?: string;
    /** 累计工时 */
    totalWorkHours?: number;
    /** 结算金额 */
    settlementAmount?: number;
    /** 实发金额 */
@@ -7121,8 +7274,10 @@
    userName?: string;
    /** 手机号 */
    phoneNumber?: string;
    /** 密码 */
    /** 密码(选填 填了就改不填就不改) */
    password?: string;
    /** 操作密码(选填 填了就改不填就不改) */
    operatorPassword?: string;
    /** 角色Id */
    roleIds?: string[];
    status?: EnumUserStatus;
packages/services/apiV2/user.ts
@@ -2,6 +2,36 @@
// @ts-ignore
import { request } from '@/utils/request';
/** 生成操作令牌 POST /api/user/user/buildOperatorToken */
export async function buildOperatorToken(
  body: API.BuildOperatorTokenCommand,
  options?: API.RequestConfig
) {
  return request<API.BuildOperatorTokenCommandResult>('/api/user/user/buildOperatorToken', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 校验操作令牌 POST /api/user/user/checkOperatorToken */
export async function checkOperatorToken(
  body: API.CheckOperatorTokenCommand,
  options?: API.RequestConfig
) {
  return request<boolean>('/api/user/user/checkOperatorToken', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 删除用户银行卡信息 DELETE /api/user/user/deletePersonalUserBankCard */
export async function deletePersonalUserBankCard(
  body: API.DeletePersonalUserBankCardCommand,