Browse Source

perf: 企业方跟用户方动态连表查询

master
wangxiang 2 years ago
parent
commit
d9a75fca40
  1. 2
      src/api/platform/common/controller/pushConcernFan.ts
  2. 2
      src/enums/pushEnum.ts
  3. 4
      src/views/common/push/pushConcern/ConcernModal.vue
  4. 6
      src/views/common/push/pushConcern/index.vue
  5. 32
      src/views/common/push/pushFriend/index.vue

2
src/api/platform/common/controller/pushConcernFan.ts

@ -21,7 +21,7 @@ export const addPushConcernFan = (params: Partial<PushConcernFan>) => defHttp.po @@ -21,7 +21,7 @@ export const addPushConcernFan = (params: Partial<PushConcernFan>) => defHttp.po
export const editPushConcernFan = (params: Partial<PushConcernFan>) => defHttp.put({ url: Api.edit, data: params });
export const getPushConcernFan = (id: string, onType?: string) => defHttp.get<PushConcernFan>({ url: Api.get, params: { id, onType } });
export const getPushConcernFan = (id: string, dynamicJoinType?: string) => defHttp.get<PushConcernFan>({ url: Api.get, params: { id, dynamicJoinType } });
export const delPushConcernFan = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` });

2
src/enums/pushEnum.ts

@ -25,7 +25,7 @@ export enum PushConcernType { @@ -25,7 +25,7 @@ export enum PushConcernType {
}
/** 关注粉丝连表查询切换类型 */
export enum PushConcernJoinOnType {
export enum PushConcernDynamicJoinType {
// 粉丝表示
FAN_TYPE = '0',
// 关注表

4
src/views/common/push/pushConcern/ConcernModal.vue

@ -31,10 +31,10 @@ @@ -31,10 +31,10 @@
//
tag.value = data._tag;
const refId = data.record?.id;
const onType = data.onType;
const dynamicJoinType = data.dynamicJoinType;
const props: Partial<ModalProps> = { confirmLoading: false };
props.title = '查看关注用户';
await setFieldsValue(await getPushConcernFan(refId, onType));
await setFieldsValue(await getPushConcernFan(refId, dynamicJoinType));
// :
setModalProps(props);
});

6
src/views/common/push/pushConcern/index.vue

@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
import { listPushConcernFanType } from '/@/api/platform/common/controller/pushConcernFanType';
import { searchFormSchema as pushTypeSearchFormSchema } from '/@/views/common/push/pushType/type.data';
import TypeModal from '../pushType/TypeModal.vue';
import { PushConcernType, PushAuditStatus, PushConcernJoinOnType } from '/@/enums/pushEnum';
import { PushConcernType, PushAuditStatus, PushConcernDynamicJoinType } from '/@/enums/pushEnum';
const userStore = useUserStore();
const userInfoStore = userStore.getUserInfo;
@ -109,7 +109,7 @@ @@ -109,7 +109,7 @@
fixed: false
},
searchInfo: {
onType: PushConcernJoinOnType.CONCERN_TYPE,
dynamicJoinType: PushConcernDynamicJoinType.CONCERN_TYPE,
status: PushAuditStatus.APPROVED,
fanUserId: userInfoStore.id
},
@ -152,7 +152,7 @@ @@ -152,7 +152,7 @@
/** 查看按钮操作,行内查看 */
function handleViewEdit(record?: Recordable) {
record = record || { id: getSelectRowKeys() };
openModal(true, { _tag: 'view', record, onType: PushConcernJoinOnType.CONCERN_TYPE });
openModal(true, { _tag: 'view', record, dynamicJoinType: PushConcernDynamicJoinType.CONCERN_TYPE });
}
function handlePushTypeEdit(record?: Recordable) {

32
src/views/common/push/pushFriend/index.vue

@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
label: '粉丝申请',
icon: 'fa6-brands:battle-net',
ifShow: userInfoStore.userType == SystemUserType.ENTERPRISE_USER,
disabled: !!(String(record?.cfStatus)) || !!record?.blId,
disabled: (record?.cfStatus != null && record?.cfStatus != '') || !!record?.blId,
onClick: handleLaunchFanAudit.bind(null, record)
},
{
@ -41,18 +41,18 @@ @@ -41,18 +41,18 @@
</template>
<script lang="ts" setup>
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { addPushConcernFan, editPushConcernFan, listPushFriend } from '/@/api/platform/common/controller/pushConcernFan';
import { useModal } from '/@/components/Modal';
import FriendModal from './FriendModal.vue';
import { columns, searchFormSchema } from './friend.data';
import { useMessage } from '/@/hooks/web/useMessage';
import { useUserStore } from '/@/store/modules/user';
import { addPushBlacklist } from '/@/api/platform/common/controller/pushBlacklist';
import { SystemUserType } from '/@/enums/permissionEnum';
import { PushAuditStatus } from '/@/enums/pushEnum';
import {BasicTable, TableAction, useTable} from '/@/components/Table';
import {addPushConcernFan, listPushFriend} from '/@/api/platform/common/controller/pushConcernFan';
import {useModal} from '/@/components/Modal';
import FriendModal from './FriendModal.vue';
import {columns, searchFormSchema} from './friend.data';
import {useMessage} from '/@/hooks/web/useMessage';
import {useUserStore} from '/@/store/modules/user';
import {addPushBlacklist} from '/@/api/platform/common/controller/pushBlacklist';
import {SystemUserType} from '/@/enums/permissionEnum';
import {PushAuditStatus, PushConcernDynamicJoinType} from '/@/enums/pushEnum';
const userStore = useUserStore();
const userStore = useUserStore();
const userInfoStore = userStore.getUserInfo;
const { createConfirm, createMessage } = useMessage();
const [registerModal, { openModal }] = useModal();
@ -81,6 +81,11 @@ @@ -81,6 +81,11 @@
dataIndex: 'action',
fixed: false
},
searchInfo: {
dynamicJoinType: userInfoStore.userType == SystemUserType.ENTERPRISE_USER
? PushConcernDynamicJoinType.CONCERN_TYPE
: PushConcernDynamicJoinType.FAN_TYPE
},
});
/** 查看按钮操作,行内查看 */
@ -98,7 +103,8 @@ @@ -98,7 +103,8 @@
onOk: async () => {
await addPushConcernFan({
concernUserId: userInfoStore.id,
fanUserId: record?.id
fanUserId: record?.id,
status: PushAuditStatus.UNDER_REVIEW,
});
createMessage.success('申请成功!');
handleRefreshTable();

Loading…
Cancel
Save