| | |
| | | <AppContainer> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem tip-content="录用状态"> |
| | | <!-- <QueryFilterItem tip-content="录用状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.hireStatus" |
| | | :value-enum="EnumTaskUserHireStatusText" |
| | |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | </QueryFilterItem> --> |
| | | <QueryFilterItem tip-content="实名状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.isReal" |
| | |
| | | { label: '已实名', value: true }, |
| | | { label: '未实名', value: false }, |
| | | ]" |
| | | buttonStyle |
| | | showAllBtn |
| | | :all-btn-value="null" |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="灵工来源"> |
| | | <FieldRadio |
| | | v-model="extraParamState.isReal" |
| | | :value-enum="[]" |
| | | buttonStyle |
| | | showAllBtn |
| | | :all-btn-value="null" |
| | |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <!-- <QueryFilterItem> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.createdTime" |
| | | type="daterange" |
| | |
| | | @change="getList()" |
| | | tooltipContent="签约时间" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> --> |
| | | <QueryFilterItem> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.createdTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="起始日期" |
| | | end-placeholder="截止日期" |
| | | clearable |
| | | @change="getList()" |
| | | tooltipContent="实名时间" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.searchWord" |
| | | style="width: 300px" |
| | | placeholder="姓名/手机/身份证号/客户" |
| | | placeholder="姓名/手机/身份证号" |
| | | @on-click-search="getList" |
| | | @keyup.enter="getList()" |
| | | > |
| | |
| | | </QueryFilterItem> |
| | | </template> |
| | | <template #btn> |
| | | <el-button @click="handleDownloadTemplate()" type="primary" link>模板下载</el-button> |
| | | <el-button @click="handleBatchImportAdd()" type="primary">批量导入</el-button> |
| | | <el-button @click="handleBatchUnSign()" type="primary">批量解约</el-button> |
| | | <el-button @click="handleSendShotMessage()" type="primary">短信发送</el-button> |
| | | <el-button @click="handleBatchSign()" type="primary">批量签约</el-button> |
| | | <el-button @click="handleEnterpriseBatchSign()" type="primary">批量企业签约</el-button> |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'importBtn')" |
| | | @click="handleDownloadTemplate()" |
| | | type="primary" |
| | | link |
| | | >模板下载</el-button |
| | | > |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'importBtn')" |
| | | @click="handleBatchImportAdd()" |
| | | type="primary" |
| | | >批量导入</el-button |
| | | > |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'batchUnSignBtn')" |
| | | @click="handleBatchUnSign()" |
| | | type="primary" |
| | | >批量解约</el-button |
| | | > |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'sendShotBtn')" |
| | | @click="handleSendShotMessage()" |
| | | type="primary" |
| | | >短信发送</el-button |
| | | > |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'batchSignBtn')" |
| | | @click="handleBatchSign()" |
| | | type="primary" |
| | | >批量签约</el-button |
| | | > |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'enterpriseBatchSignBtn')" |
| | | @click="handleEnterpriseBatchSign()" |
| | | type="primary" |
| | | >批量企业签约</el-button |
| | | > |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | | v-bind="proTableProps" |
| | | :columns="FlexJobManageColumns" |
| | | :columns="column" |
| | | :operationBtns="operationBtns" |
| | | show-column-check |
| | | ref="proTable" |
| | |
| | | FieldDatePicker, |
| | | FieldRadio, |
| | | FieldSelect, |
| | | defineOperationBtns, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | XLSXUtils, |
| | | } from '@bole-core/components'; |
| | | import { FlexJobManageColumns } from './constants'; |
| | | import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants'; |
| | | import { Message } from '@bole-core/core'; |
| | | import { convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils'; |
| | |
| | | name: 'FlexJobManageList', |
| | | }); |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'editBtn', |
| | | name: '编辑', |
| | | }, |
| | | const operationBtnMap: Record<string, OperationBtnType> = { |
| | | editBtn: { |
| | | emits: { |
| | | onClick: (role) => openDialog(role), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'detailBtn', |
| | | name: '详情', |
| | | }, |
| | | detailBtn: { |
| | | emits: { |
| | | onClick: (role: API.GetEnterpriseEmployeesQueryResultItem) => |
| | | handleStaffDetailEdit({ id: role.id, tabType: 'info' }), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'enterpriseSignBtn', |
| | | name: '企业签约', |
| | | }, |
| | | enterpriseSignBtn: { |
| | | emits: { |
| | | onClick: (role) => handleEnterpriseSign(role), |
| | | }, |
| | |
| | | ), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'inviteSignBtn', |
| | | name: '邀请签约', |
| | | }, |
| | | inviteSignBtn: { |
| | | emits: { |
| | | onClick: (role) => handleInviteSign(role), |
| | | }, |
| | |
| | | ), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'unSignBtn', |
| | | name: '解约', |
| | | }, |
| | | unSignBtn: { |
| | | emits: { |
| | | onClick: (role) => handleUnSign(role), |
| | | }, |
| | |
| | | ), |
| | | }, |
| | | }, |
| | | // { |
| | | // data: { |
| | | // enCode: 'delBtn', |
| | | // name: '删除', |
| | | // }, |
| | | // props: { type: 'danger' }, |
| | | // emits: { |
| | | // onClick: (role) => handleDelete(role), |
| | | // }, |
| | | // }, |
| | | ]); |
| | | }; |
| | | |
| | | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ |
| | | operationBtnMap, |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | |
| | |
| | | const { |
| | | dialogProps: dialogStaffInfoProps, |
| | | handleEdit: handleStaffInfoEdit, |
| | | handleAdd: handleStaffInfoAdd, |
| | | editForm: staffInfoEditForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handleAddOrEdit, |