| | |
| | | <AppContainer> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem tip-content="状态"> |
| | | <QueryFilterItem tip-content="配置状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="[ |
| | | { label: '已配置', value: true }, |
| | | { label: '未配置', value: false }, |
| | | ]" |
| | | v-model="extraParamState.flexEnterpriseSettingStatus" |
| | | :value-enum="FlexEnterpriseSettingStatusText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.name" |
| | | v-model="extraParamState.searchWord" |
| | | style="width: 200px" |
| | | placeholder="企业名称/法人/联系人" |
| | | @on-click-search="getList" |
| | |
| | | <template #btn> |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'addBtn')" |
| | | @click="openDialog()" |
| | | @click="addOrEditEnterprise()" |
| | | icon="Plus" |
| | | type="primary" |
| | | >新增</el-button |
| | |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <!-- <AddOrEditSearchSetting v-bind="dialogProps" :typeList="typeList" /> --> |
| | | <ConfigureDialog v-bind="dialogProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | QueryFilterItem, |
| | | useTable, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { useAccess, useGlobalEventContext } from '@/hooks'; |
| | | import * as searchSettingServices from '@/services/api/SearchSetting'; |
| | | import { SearchType, SearchTypeText } from '@/constants'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | import { |
| | | SearchType, |
| | | FlexEnterpriseSettingStatusText, |
| | | FlexEnterpriseSettingStatus, |
| | | FlexEnterpriseCertificationStatusText, |
| | | EnterpriseConfigureType, |
| | | MessageChannelEnum, |
| | | VerifyStatus, |
| | | SignChannelEnum, |
| | | ChargeTypeEnum, |
| | | FlexEnterpriseStatus, |
| | | } from '@/constants'; |
| | | import ConfigureDialog from './components/ConfigureDialog.vue'; |
| | | import { OrderInputType, Message } from '@bole-core/core'; |
| | | import { convertApi2FormUrl } from '@/utils'; |
| | | import { useQueryClient } from '@tanstack/vue-query'; |
| | | import { useSearchSettingType } from '@/hooks'; |
| | | |
| | |
| | | }); |
| | | |
| | | const operationBtnMap: Record<string, OperationBtnType> = { |
| | | editBtn: { emits: { onClick: (role) => openDialog(role) } }, |
| | | editBtn: { emits: { onClick: (role) => addOrEditEnterprise(role) } }, |
| | | detailBtn: { emits: { onClick: (role) => handleDetail(role) } }, |
| | | configBtn: { emits: { onClick: (role) => openDialog(role) } }, |
| | | freezeBtn: { emits: { onClick: (role) => handleSetStatus(role) } }, |
| | | }; |
| | | |
| | | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ |
| | |
| | | getList(paginationState.pageIndex); |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | |
| | | const { searchSettingTypeList: typeList } = useSearchSettingType({ |
| | | searchType: SearchType.IndustryCategory, |
| | | }); |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | onMounted(async () => { |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetSearchSettingListInput = { |
| | | let params: API.GetFlexEnterpriseInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | name: extraParamState.name, |
| | | // belongType: Number(extraParamState.belongType), |
| | | searchType: Number(extraParamState.searchType), |
| | | status: extraParamState.status, |
| | | flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, |
| | | searchWord: extraParamState.searchWord, |
| | | }; |
| | | |
| | | if (extraParamState.searchType === SearchType.Position) { |
| | | params.isRecommend = extraParamState.isRecommend; |
| | | params.parentId = extraParamState.parentId; |
| | | } |
| | | let res = await searchSettingServices.getSearchSettingList(params, { |
| | | let res = await flexEnterpriseServices.getFlexEnterpriseList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | name: '', |
| | | searchType: SearchType.Identity, |
| | | orderInput: [{ property: 'sort', order: OrderInputType.Asc }], |
| | | status: '' as any as boolean, |
| | | isRecommend: '' as any as boolean, |
| | | parentId: '', |
| | | searchWord: '', |
| | | orderInput: [{ property: 'id', order: OrderInputType.Asc }], |
| | | flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, |
| | | }, |
| | | queryKey: ['searchSettingServices/getSearchSettingList'], |
| | | queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], |
| | | columnsRenderProps: { |
| | | searchType: { type: 'enum', valueEnum: SearchTypeText }, |
| | | settingStatus: { type: 'enum', valueEnum: FlexEnterpriseSettingStatusText }, |
| | | certificationStatus: { type: 'enum', valueEnum: FlexEnterpriseCertificationStatusText }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function openDialog(row?: API.GetSearchSettingList) { |
| | | function openDialog(row?: API.FlexEnterpriseDto) { |
| | | if (row) { |
| | | handleEdit({ |
| | | id: row.id, |
| | | searchType: extraParamState.searchType, |
| | | name: row.name, |
| | | sort: row.sort, |
| | | status: row.status, |
| | | src: row.src?.length ? [convertApi2FormUrl(row.src)] : [], |
| | | parentId: row.parentId ?? '', |
| | | flexEnterpirseId: row.id, |
| | | openBank: row.cityName, |
| | | openBranchBank: row.cityName, |
| | | bankAccount: row.cityName, |
| | | verifyStatus: VerifyStatus.NotVerify, |
| | | signChannel: SignChannelEnum.Alipay, |
| | | chargeType: ChargeTypeEnum.Group, |
| | | realVerifyCost: 0, |
| | | signCost: 0, |
| | | mergeSignCost: 0, |
| | | messageCost: 0, |
| | | messageChannel: MessageChannelEnum.Alipay, |
| | | }); |
| | | } else { |
| | | handleAdd({ |
| | | searchType: extraParamState.searchType, |
| | | }); |
| | | handleAdd({}); |
| | | } |
| | | } |
| | | |
| | |
| | | onConfirm: handleAddOrEdit, |
| | | defaultFormParams: { |
| | | id: '', |
| | | searchType: SearchType.Identity, |
| | | name: '', |
| | | sort: 0, |
| | | status: true, |
| | | src: [] as UploadUserFile[], |
| | | parentId: '', |
| | | flexEnterpirseId: '', |
| | | openBank: '', |
| | | openBranchBank: '', |
| | | bankAccount: '', |
| | | verifyStatus: '' as any as VerifyStatus, |
| | | signChannel: '' as any as SignChannelEnum, |
| | | chargeType: '' as any as ChargeTypeEnum, |
| | | realVerifyCost: 0, |
| | | signCost: 0, |
| | | mergeSignCost: 0, |
| | | messageCost: 0, |
| | | messageChannel: '' as any as MessageChannelEnum, |
| | | }, |
| | | }); |
| | | |
| | | async function handleAddOrEdit() { |
| | | async function handleAddOrEdit(type: EnterpriseConfigureType) { |
| | | try { |
| | | let params: API.CreateOrEditSearchInput = { |
| | | searchType: extraParamState.searchType, |
| | | name: editForm.name, |
| | | sort: editForm.sort, |
| | | status: editForm.status, |
| | | src: editForm.src?.[0]?.path ?? '', |
| | | parentId: editForm.parentId ?? '', |
| | | }; |
| | | if (editForm.id) { |
| | | params.id = editForm.id; |
| | | let res; |
| | | if (type === EnterpriseConfigureType.Bank) { |
| | | res = await createOrEditFlexEnterpriseBankSetting(); |
| | | } |
| | | let res = await searchSettingServices.createOrEditSearchSetting(params); |
| | | if (type === EnterpriseConfigureType.Electronic) { |
| | | res = await createOrEditFlexEnterpriseSignSetting(); |
| | | } |
| | | if (type === EnterpriseConfigureType.ShortMessage) { |
| | | res = await createOrEditFlexEnterpriseMessageSetting(); |
| | | } |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | dialogState.dialogVisible = false; |
| | | updateCategoryMenu(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function updateCategoryMenu() { |
| | | queryClient.invalidateQueries({ |
| | | queryKey: [ |
| | | 'searchSettingServices/getTypeSearchSettingList', |
| | | { searchType: extraParamState.searchType, belongType: null }, |
| | | ], |
| | | }); |
| | | async function createOrEditFlexEnterpriseBankSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseBankInput = { |
| | | id: editForm.id, |
| | | openBank: editForm.openBank, |
| | | openBranchBank: editForm.openBranchBank, |
| | | bankAccount: editForm.bankAccount, |
| | | verifyStatus: editForm.verifyStatus, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | async function createOrEditFlexEnterpriseSignSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseSignSettingInput = { |
| | | id: editForm.id, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | signChannel: editForm.signChannel, |
| | | chargeType: editForm.chargeType, |
| | | realVerifyCost: editForm.realVerifyCost, |
| | | signCost: editForm.signCost, |
| | | mergeSignCost: editForm.mergeSignCost, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseSignSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | async function createOrEditFlexEnterpriseMessageSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseMessageSettingInput = { |
| | | id: editForm.id, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | messageChannel: editForm.messageChannel, |
| | | messageCost: editForm.messageCost, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseMessageSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function setCategoryVis(row: API.GetSearchSettingList) { |
| | | async function handleSetStatus(row: API.FlexEnterpriseDto) { |
| | | try { |
| | | let params: API.EnableSearchSettingInput = { |
| | | let params: API.SetFlexEnterpriseStatusInput = { |
| | | id: row.id, |
| | | status: !row.status, |
| | | status: |
| | | row.status === FlexEnterpriseStatus.Frozen |
| | | ? FlexEnterpriseStatus.Normal |
| | | : FlexEnterpriseStatus.Frozen, |
| | | }; |
| | | let res = await searchSettingServices.enableSearchSetting(params); |
| | | updateCategoryMenu(); |
| | | getList(paginationState.pageIndex); |
| | | return !!res; |
| | | let res = await flexEnterpriseServices.setFlexEnterpriseStatus(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function addOrEditEnterprise(row?: API.FlexEnterpriseDto) { |
| | | router.push({ name: 'AddOrEditEnterprise', params: { id: row?.id ?? '' } }); |
| | | } |
| | | function handleDetail(row: API.FlexEnterpriseDto) { |
| | | router.push({ name: 'EnterpriseDetail', params: { id: row?.id ?? '' } }); |
| | | } |
| | | </script> |