Browse Source

refactor: 重构推送审核状态字段逻辑

master
wangxiang 2 years ago
parent
commit
9d6a24ecdb
  1. 9
      src/api/platform/common/controller/pushConcernFan.ts
  2. 13
      src/api/platform/common/controller/pushEnterprise.ts
  3. 1
      src/api/platform/common/entity/pushBlacklist.ts
  4. 3
      src/api/platform/common/entity/pushChatMessage.ts
  5. 8
      src/api/platform/common/entity/pushConcernFan.ts
  6. 2
      src/api/platform/common/entity/pushEnterprise.ts
  7. 3
      src/utils/props.ts
  8. 2
      src/views/common/doctor/DoctorModal.vue
  9. 2
      src/views/common/hospital/HospitalModal.vue
  10. 2
      src/views/common/mapLogistic/MapLogisticModal.vue
  11. 2
      src/views/common/office/OfficeModal.vue
  12. 2
      src/views/common/org/OrgModal.vue
  13. 2
      src/views/common/project/ProjectModal.vue
  14. 2
      src/views/common/push/pushApplication/ApplicationModal.vue
  15. 2
      src/views/common/push/pushApplication/EnterpriseSendModal.vue
  16. 2
      src/views/common/push/pushBlacklist/BlacklistModal.vue
  17. 2
      src/views/common/push/pushChatMessage/ChatMessageModal.vue
  18. 2
      src/views/common/push/pushConcern/ConcernModal.vue
  19. 6
      src/views/common/push/pushEnterprise/EnterpriseModal.vue
  20. 4
      src/views/common/push/pushEnterpriseAudit/EnterpriseAuditModal.vue
  21. 148
      src/views/common/push/pushEnterpriseAudit/enterpriseAudit.data.ts
  22. 13
      src/views/common/push/pushEnterpriseAudit/index.vue
  23. 2
      src/views/common/push/pushFriend/FriendModal.vue
  24. 15
      src/views/common/push/pushFriend/index.vue
  25. 20
      src/views/common/push/pushFriendAudit/FriendAuditModal.vue
  26. 13
      src/views/common/push/pushFriendAudit/index.vue
  27. 2
      src/views/common/push/pushRingtone/RingtoneModal.vue
  28. 2
      src/views/common/push/pushType/TypeModal.vue
  29. 2
      src/views/system/client/ClientModal.vue
  30. 2
      src/views/system/config/ConfigModal.vue
  31. 2
      src/views/system/dept/DeptModal.vue
  32. 2
      src/views/system/dict/DictDataModal.vue
  33. 2
      src/views/system/dict/DictModal.vue
  34. 2
      src/views/system/menu/MenuModal.vue
  35. 2
      src/views/system/region/RegionModal.vue
  36. 2
      src/views/system/role/RoleDrawer.vue
  37. 2
      src/views/system/tenant/TenantModal.vue
  38. 2
      src/views/system/user/ResetPwdModal.vue
  39. 2
      src/views/system/user/UserModal.vue
  40. 39
      src/views/system/user/account/setting/entCertification/Step2.vue
  41. 56
      src/views/system/user/account/setting/entCertification/index.vue
  42. 5
      types/index.d.ts

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

@ -8,7 +8,8 @@ enum Api {
add = '/common_proxy/common/pushConcernFan/save', add = '/common_proxy/common/pushConcernFan/save',
edit = '/common_proxy/common/pushConcernFan/update', edit = '/common_proxy/common/pushConcernFan/update',
del = '/common_proxy/common/pushConcernFan/remove', del = '/common_proxy/common/pushConcernFan/remove',
audit = '/common_proxy/common/pushConcernFan/audit', updateAuditStatus = '/common_proxy/common/pushConcernFan/updateAuditStatus',
rejectAuth = '/common_proxy/common/pushConcernFan/rejectAuth'
} }
export const listPushConcernFan = (params?: Partial<PushConcernFanParams>) => defHttp.get<PushConcernFanResult>({ url: Api.list, params }, { isReturnResultResponse: true }); export const listPushConcernFan = (params?: Partial<PushConcernFanParams>) => defHttp.get<PushConcernFanResult>({ url: Api.list, params }, { isReturnResultResponse: true });
@ -19,8 +20,10 @@ export const addPushConcernFan = (params: Partial<PushConcernFan>) => defHttp.po
export const editPushConcernFan = (params: Partial<PushConcernFan>) => defHttp.put({ url: Api.edit, data: params }); 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, onType?: string) => defHttp.get<PushConcernFan>({ url: Api.get, params: { id, onType } });
export const delPushConcernFan = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` }); export const delPushConcernFan = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` });
export const auditPushConcernFan = (id: string) => defHttp.get({ url: `${Api.audit}`, params: { id } }); export const updateAuditStatus = (id: string, status: number) => defHttp.put({ url: `${Api.updateAuditStatus}`, params: { id, status } });
export const rejectAuthPushConcernFan = (ids: string) => defHttp.put({ url: `${Api.rejectAuth}/${ids}` });

13
src/api/platform/common/controller/pushEnterprise.ts

@ -4,11 +4,12 @@ import { defHttp } from '/@/utils/http/axios';
enum Api { enum Api {
list = '/common_proxy/common/pushEnterprise/list', list = '/common_proxy/common/pushEnterprise/list',
get = '/common_proxy/common/pushEnterprise', get = '/common_proxy/common/pushEnterprise',
getByUserId = '/common_proxy/common/pushEnterprise/getByUserId', getAuthData = '/common_proxy/common/pushEnterprise/getAuthData',
add = '/common_proxy/common/pushEnterprise/save', add = '/common_proxy/common/pushEnterprise/save',
edit = '/common_proxy/common/pushEnterprise/update', edit = '/common_proxy/common/pushEnterprise/update',
del = '/common_proxy/common/pushEnterprise/remove', del = '/common_proxy/common/pushEnterprise/remove',
revokeAuth = '/common_proxy/common/pushEnterprise/revokeAuth' rejectAuth = '/common_proxy/common/pushEnterprise/rejectAuth',
updateAuditStatus = '/common_proxy/common/pushEnterprise/updateAuditStatus',
} }
export const listPushEnterprise = (params?: Partial<PushEnterpriseParams>) => defHttp.get<PushEnterpriseResult>({ url: Api.list, params }, { isReturnResultResponse: true }); export const listPushEnterprise = (params?: Partial<PushEnterpriseParams>) => defHttp.get<PushEnterpriseResult>({ url: Api.list, params }, { isReturnResultResponse: true });
@ -19,8 +20,10 @@ export const editPushEnterprise = (params: Partial<PushEnterprise>) => defHttp.p
export const getPushEnterprise = (id: string) => defHttp.get<PushEnterprise>({ url: `${Api.get}/${id}` }); export const getPushEnterprise = (id: string) => defHttp.get<PushEnterprise>({ url: `${Api.get}/${id}` });
export const getPushEnterpriseByUserId = (id: string) => defHttp.get<PushEnterprise>({ url: `${Api.getByUserId}/${id}` }); export const getAuthData = () => defHttp.get<PushEnterprise>({ url: Api.getAuthData });
export const revokeAuthPushEnterprise = () => defHttp.delete({ url: Api.revokeAuth });
export const delPushEnterprise = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` }); export const delPushEnterprise = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` });
export const updatePushEnterpriseAuditStatus = (status: number) => defHttp.put({ url: `${Api.updateAuditStatus}/${status}` });
export const rejectAuthPushEnterprise = (ids: string) => defHttp.put({ url: `${Api.rejectAuth}/${ids}` });

1
src/api/platform/common/entity/pushBlacklist.ts

@ -24,7 +24,6 @@ export interface PushBlacklist {
userType: string; userType: string;
email: string; email: string;
remarks: string; remarks: string;
status: string;
[key:string]: any; [key:string]: any;
} }

3
src/api/platform/common/entity/pushChatMessage.ts

@ -8,7 +8,8 @@ export interface PushChatMessage {
userId: string; userId: string;
pushUserId: string; pushUserId: string;
type: string; type: string;
status: string; status: number;
viewStatus: string;
pushTypeId: string; pushTypeId: string;
aliasType: string; aliasType: string;
alias: string; alias: string;

8
src/api/platform/common/entity/pushConcernFan.ts

@ -14,7 +14,6 @@ export interface PushConcernFan {
deptId: string; deptId: string;
fanUserId: string; fanUserId: string;
updateTime: string; updateTime: string;
fanCreateTime: string;
avatar: string; avatar: string;
userName: string; userName: string;
updateById: string; updateById: string;
@ -22,12 +21,15 @@ export interface PushConcernFan {
phone: string; phone: string;
createTime: string; createTime: string;
loginIp: string; loginIp: string;
fanRemarks?: string;
createById: string; createById: string;
userType: string; userType: string;
email: string; email: string;
remarks: string; remarks: string;
status: string; cfStatus: number;
cfCreateTime: string;
cfType: string;
cfRemarks: string;
blId: string;
[key:string]: any; [key:string]: any;
} }

2
src/api/platform/common/entity/pushEnterprise.ts

@ -12,7 +12,7 @@ export interface PushEnterprise extends CommonEntity {
userId: string; userId: string;
creditCode: string; creditCode: string;
idCard: string; idCard: string;
status: string; status: number;
detailedAddress: string; detailedAddress: string;
[key:string]: any; [key:string]: any;
} }

3
src/utils/props.ts

@ -1,6 +1,7 @@
/** /**
* @program: kicc-ui * @program: kicc-ui
* @description: as PropType<Type> * @description: Vue prop
* valuesvalidator
* 参考: https://github.com/element-plus/element-plus/pull/3341#issuecomment-917619238 * 参考: https://github.com/element-plus/element-plus/pull/3341#issuecomment-917619238
* copy from element-plus * copy from element-plus
* @author: entfrm开发团队- * @author: entfrm开发团队-

2
src/views/common/doctor/DoctorModal.vue

@ -33,7 +33,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/hospital/HospitalModal.vue

@ -31,7 +31,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/mapLogistic/MapLogisticModal.vue

@ -48,7 +48,7 @@
/** https://v3.cn.vuejs.org/api/options-data.html#emits */ /** https://v3.cn.vuejs.org/api/options-data.html#emits */
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
state.mapData = null; state.mapData = null;
aMapDesigner.value.mapReset(); aMapDesigner.value.mapReset();

2
src/views/common/office/OfficeModal.vue

@ -33,7 +33,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/org/OrgModal.vue

@ -33,7 +33,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/project/ProjectModal.vue

@ -32,7 +32,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/push/pushApplication/ApplicationModal.vue

@ -31,7 +31,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/push/pushApplication/EnterpriseSendModal.vue

@ -28,7 +28,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/push/pushBlacklist/BlacklistModal.vue

@ -27,7 +27,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/push/pushChatMessage/ChatMessageModal.vue

@ -25,7 +25,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

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

@ -24,7 +24,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

6
src/views/common/push/pushEnterprise/EnterpriseModal.vue

@ -12,7 +12,7 @@
import { ref, unref } from 'vue'; import { ref, unref } from 'vue';
import { BasicForm, useForm } from '/@/components/Form/index'; import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchema } from './enterprise.data'; import { formSchema } from './enterprise.data';
import { addPushEnterprise, editPushEnterprise, getPushEnterprise, getPushEnterpriseByUserId } from '/@/api/platform/common/controller/pushEnterprise'; import { addPushEnterprise, editPushEnterprise, getPushEnterprise, getAuthData } from '/@/api/platform/common/controller/pushEnterprise';
import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal';
/** 通用变量统一声明区域 */ /** 通用变量统一声明区域 */
@ -25,7 +25,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();
@ -47,7 +47,7 @@
case 'view': case 'view':
// //
props.title = '查看企业'; props.title = '查看企业';
let enterpriseByUserId = await getPushEnterpriseByUserId(refId); let enterpriseByUserId = await getAuthData();
enterpriseByUserId.license = String(enterpriseByUserId.license).split(','); enterpriseByUserId.license = String(enterpriseByUserId.license).split(',');
await setFieldsValue(enterpriseByUserId); await setFieldsValue(enterpriseByUserId);
await setProps({ disabled: true }); await setProps({ disabled: true });

4
src/views/common/push/pushEnterpriseAudit/EnterpriseAuditModal.vue

@ -15,7 +15,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { BasicForm, useForm } from '/@/components/Form/index'; import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchema } from './enterpriseAudit.data'; import { formSchema } from '../pushEnterprise/enterprise.data';
import { getPushEnterprise, editPushEnterprise, delPushEnterprise } from '/@/api/platform/common/controller/pushEnterprise'; import { getPushEnterprise, editPushEnterprise, delPushEnterprise } from '/@/api/platform/common/controller/pushEnterprise';
import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal';
import { ref } from 'vue'; import { ref } from 'vue';
@ -30,7 +30,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

148
src/views/common/push/pushEnterpriseAudit/enterpriseAudit.data.ts

@ -1,148 +0,0 @@
import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import {listUser} from "/@/api/platform/system/controller/user";
import {commonUpload} from "/@/api/platform/core/controller/upload";
/** 表格列配置 */
export const columns: BasicColumn[] = [
{
title: '企业名称',
dataIndex: 'name'
},
{
title: '法定代表人',
dataIndex: 'repName',
},
{
title: '手机号',
dataIndex: 'phone'
},
{
title: '信用代码',
dataIndex: 'creditCode'
},
{
title: '详细地址',
dataIndex: 'detailedAddress'
},
{
title: '创建时间',
dataIndex: 'createTime'
}
];
/** 搜索表单配置 */
export const searchFormSchema: FormSchema[] = [
{
field: 'name',
label: '企业名称',
component: 'Input',
componentProps: {
placeholder: '请输入企业名称'
},
colProps: { span: 6 }
}
];
/** 表单配置 */
export const formSchema: FormSchema[] = [
{
field: 'id',
label: 'ID',
component: 'Input',
show: false,
},
{
field: 'name',
label: '企业名称',
component: 'Input',
required: true,
colProps: {
span: 12
},
},
{
field: 'repName',
label: '法定代表人',
component: 'Input',
required: true,
colProps: {
span: 12
},
},
{
field: 'phone',
label: '手机号',
component: 'Input',
required: true,
colProps: {
span: 12
},
rules: [
{
required: true,
message: '请输入手机号!',
},
{
pattern: new RegExp('^1[3|4|5|6|7|8|9][0-9]\\d{8}$'),
message: '请输入正确的手机号码!',
validateTrigger: 'blur'
}
]
},
{
field: 'userId',
label: '关联用户',
component: 'ApiSelect',
required: true,
componentProps: {
api: listUser,
params: {
size: 99
},
labelField: 'nickName',
valueField: 'id',
resultField: 'data'
},
},
{
field: 'license',
label: '营业执照',
component: 'Upload',
required: true,
componentProps: {
multiple: true,
maxSize: 20,
maxNumber: 10,
showUploadSaveBtn: true,
showPreviewNumber: true,
emptyHidePreview: true,
api: commonUpload,
accept: ['image/*']
}
},
{
field: 'creditCode',
label: '信用代码',
component: 'Input',
required: true,
colProps: {
span: 12
},
},
{
field: 'idCard',
label: '身份证',
component: 'Input',
required: true,
colProps: {
span: 12
},
},
{
field: 'detailedAddress',
label: '详细地址',
component: 'Input',
required: true,
}
];

13
src/views/common/push/pushEnterpriseAudit/index.vue

@ -8,7 +8,7 @@
<a-button <a-button
type="primary" type="primary"
:disabled="state.multiple" :disabled="state.multiple"
@click="handleDel()" @click="handleAudit()"
>驳回申请</a-button> >驳回申请</a-button>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
@ -23,7 +23,7 @@
label: '驳回', label: '驳回',
icon: 'ant-design:delete-outlined', icon: 'ant-design:delete-outlined',
color: 'error', color: 'error',
onClick: handleDel.bind(null, record) onClick: handleAudit.bind(null, record)
}]" }]"
/> />
</template> </template>
@ -37,10 +37,10 @@
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, toRaw } from 'vue'; import { reactive, toRaw } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { listPushEnterprise, delPushEnterprise } from '/@/api/platform/common/controller/pushEnterprise'; import { listPushEnterprise, rejectAuthPushEnterprise } from '/@/api/platform/common/controller/pushEnterprise';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import EnterpriseAuditModal from './EnterpriseAuditModal.vue'; import EnterpriseAuditModal from './EnterpriseAuditModal.vue';
import { columns, searchFormSchema } from './enterpriseAudit.data'; import { columns, searchFormSchema } from '../pushEnterprise/enterprise.data';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
/** 类型规范统一声明定义区域 */ /** 类型规范统一声明定义区域 */
@ -111,15 +111,14 @@
openModal(true, { _tag: 'edit', record }); openModal(true, { _tag: 'edit', record });
} }
/** 删除按钮操作,行内删除 */ async function handleAudit(record?: Recordable) {
async function handleDel(record?: Recordable) {
const ids = record?.id || getSelectRowKeys(); const ids = record?.id || getSelectRowKeys();
createConfirm({ createConfirm({
iconType: 'warning', iconType: 'warning',
title: '警告', title: '警告',
content: `是否确认驳回编号为${ids}的数据?`, content: `是否确认驳回编号为${ids}的数据?`,
onOk: async () => { onOk: async () => {
await delPushEnterprise(ids); await rejectAuthPushEnterprise(ids);
createMessage.success('驳回成功!'); createMessage.success('驳回成功!');
handleRefreshTable(); handleRefreshTable();
} }

2
src/views/common/push/pushFriend/FriendModal.vue

@ -27,7 +27,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

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

@ -15,20 +15,20 @@
label: '关注', label: '关注',
icon: 'fa6-brands:battle-net', icon: 'fa6-brands:battle-net',
ifShow: userInfoStore.userType != '2', ifShow: userInfoStore.userType != '2',
disabled: !!record?.cfStatus || !!record?.bId, disabled: record?.cfStatus == 1 || !!record?.blId,
onClick: handleAddConcern.bind(null, record) onClick: handleConcernUser.bind(null, record)
}, },
{ {
label: '粉丝申请', label: '粉丝申请',
icon: 'fa6-brands:battle-net', icon: 'fa6-brands:battle-net',
ifShow: userInfoStore.userType == '2', ifShow: userInfoStore.userType == '2',
disabled: !!record?.cfStatus || !!record?.bId, disabled: !!(String(record?.cfStatus)) || !!record?.blId,
onClick: handleAddFanAudit.bind(null, record) onClick: handleLaunchFanAudit.bind(null, record)
}, },
{ {
label: '加入黑名单', label: '加入黑名单',
icon: 'fa6-brands:battle-net', icon: 'fa6-brands:battle-net',
disabled: !!record?.bId, disabled: !!record?.blId,
onClick: handleBlacklist.bind(null, record) onClick: handleBlacklist.bind(null, record)
}]" }]"
/> />
@ -88,7 +88,7 @@
} }
/** 发起粉丝申请 */ /** 发起粉丝申请 */
async function handleAddFanAudit(record?: Recordable) { async function handleLaunchFanAudit(record?: Recordable) {
createConfirm({ createConfirm({
iconType: 'warning', iconType: 'warning',
title: '警告', title: '警告',
@ -104,8 +104,7 @@
}); });
} }
/** 关注用户 */ async function handleConcernUser(record?: Recordable) {
async function handleAddConcern(record?: Recordable) {
createConfirm({ createConfirm({
iconType: 'warning', iconType: 'warning',
title: '警告', title: '警告',

20
src/views/common/push/pushFriendAudit/FriendAuditModal.vue

@ -16,7 +16,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { BasicForm, useForm } from '/@/components/Form/index'; import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchema } from '../pushConcern/concern.data'; import { formSchema } from '../pushConcern/concern.data';
import { getPushConcernFan, delPushConcernFan, auditPushConcernFan } from '/@/api/platform/common/controller/pushConcernFan'; import { getPushConcernFan, updateAuditStatus } from '/@/api/platform/common/controller/pushConcernFan';
import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal';
import { ref } from 'vue'; import { ref } from 'vue';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
@ -30,7 +30,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();
@ -46,17 +46,21 @@
}); });
async function handleReject() { async function handleReject() {
await delPushConcernFan(id.value); try {
closeModal(); setModalProps({ confirmLoading: true });
createMessage.info('审核驳回!'); await updateAuditStatus(id.value, -1);
emit('success'); closeModal();
createMessage.info('审核驳回!');
emit('success');
} finally {
setModalProps({ confirmLoading: false });
}
} }
async function handleSubmit() { async function handleSubmit() {
try { try {
const formData = await validate();
setModalProps({ confirmLoading: true }); setModalProps({ confirmLoading: true });
await auditPushConcernFan(formData.id); await updateAuditStatus(id.value, 1);
closeModal(); closeModal();
createMessage.success('审核通过!'); createMessage.success('审核通过!');
emit('success'); emit('success');

13
src/views/common/push/pushFriendAudit/index.vue

@ -8,7 +8,7 @@
<a-button <a-button
type="primary" type="primary"
:disabled="state.multiple" :disabled="state.multiple"
@click="handleDel()" @click="handleAudit()"
>驳回申请</a-button> >驳回申请</a-button>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
@ -24,7 +24,7 @@
label: '驳回', label: '驳回',
icon: 'ant-design:delete-outlined', icon: 'ant-design:delete-outlined',
color: 'error', color: 'error',
onClick: handleDel.bind(null, record) onClick: handleAudit.bind(null, record)
}]" }]"
/> />
</template> </template>
@ -37,7 +37,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, toRaw } from 'vue'; import { reactive, toRaw } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { listPushConcernFan, delPushConcernFan } from '/@/api/platform/common/controller/pushConcernFan'; import { listPushConcernFan, rejectAuthPushConcernFan } from '/@/api/platform/common/controller/pushConcernFan';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import FriendAuditModal from './FriendAuditModal.vue'; import FriendAuditModal from './FriendAuditModal.vue';
import { columns, searchFormSchema } from '../pushConcern/concern.data'; import { columns, searchFormSchema } from '../pushConcern/concern.data';
@ -87,7 +87,7 @@
}, },
searchInfo: { searchInfo: {
status: '0', status: '0',
concernUserId: userInfoStore.id fanUserId: userInfoStore.id
}, },
handleSearchInfoFn: () => clearSelectedRowKeys() handleSearchInfoFn: () => clearSelectedRowKeys()
}); });
@ -105,15 +105,14 @@
openModal(true, { _tag: 'view', record }); openModal(true, { _tag: 'view', record });
} }
/** 删除按钮操作,行内删除 */ async function handleAudit(record?: Recordable) {
async function handleDel(record?: Recordable) {
const ids = record?.id || getSelectRowKeys(); const ids = record?.id || getSelectRowKeys();
createConfirm({ createConfirm({
iconType: 'warning', iconType: 'warning',
title: '警告', title: '警告',
content: `是否确认驳回编号为${ids}的数据?`, content: `是否确认驳回编号为${ids}的数据?`,
onOk: async () => { onOk: async () => {
await delPushConcernFan(ids); await rejectAuthPushConcernFan(ids);
createMessage.success('驳回成功!'); createMessage.success('驳回成功!');
handleRefreshTable(); handleRefreshTable();
} }

2
src/views/common/push/pushRingtone/RingtoneModal.vue

@ -25,7 +25,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/common/push/pushType/TypeModal.vue

@ -36,7 +36,7 @@
}); });
const userStore = useUserStore(); const userStore = useUserStore();
const userInfoStore = userStore.getUserInfo; const userInfoStore = userStore.getUserInfo;
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/client/ClientModal.vue

@ -32,7 +32,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/config/ConfigModal.vue

@ -132,7 +132,7 @@
}); });
/** https://v3.cn.vuejs.org/api/options-data.html#emits */ /** https://v3.cn.vuejs.org/api/options-data.html#emits */
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' })=> { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' })=> {
// //
formElRef.value.resetFields(); formElRef.value.resetFields();
formElRef.value.clearValidate(); formElRef.value.clearValidate();

2
src/views/system/dept/DeptModal.vue

@ -32,7 +32,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/dict/DictDataModal.vue

@ -31,7 +31,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/dict/DictModal.vue

@ -31,7 +31,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/menu/MenuModal.vue

@ -35,7 +35,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/region/RegionModal.vue

@ -37,7 +37,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal, changeLoading }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal, changeLoading }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
changeLoading(true); changeLoading(true);
// //
await resetFields(); await resetFields();

2
src/views/system/role/RoleDrawer.vue

@ -62,7 +62,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/tenant/TenantModal.vue

@ -32,7 +32,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

2
src/views/system/user/ResetPwdModal.vue

@ -66,7 +66,7 @@
] ]
}); });
const { resetFields, clearValidate, validate, validateInfos } = useForm(modelRef, rulesRef); const { resetFields, clearValidate, validate, validateInfos } = useForm(modelRef, rulesRef);
const [registerModal, { setModalProps, closeModal }] = useModalInner( (data: WindowInnerData) => { const [registerModal, { setModalProps, closeModal }] = useModalInner( (data: BoxPayload) => {
// //
resetFields(); resetFields();
clearValidate(); clearValidate();

2
src/views/system/user/UserModal.vue

@ -53,7 +53,7 @@
showActionButtonGroup: false, showActionButtonGroup: false,
actionColOptions: { span: 24 } actionColOptions: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();

39
src/views/system/user/account/setting/entCertification/Step2.vue

@ -1,35 +1,58 @@
<template> <template>
<div class="step2"> <div class="step2">
<AResult title="等待审核" sub-title="预计客服在一个小时内完成"> <AResult v-if="props.pushEnterprise.status == -1"
status="error"
title="审核位通过"
sub-title="请检查并修改以下信息,然后再重新提交。"
>
<template #extra>
<a-button type="primary"
@click="handleSubmit"
>返回到填写企业信息</a-button>
</template>
</AResult>
<AResult v-else
title="等待审核"
sub-title="预计客服在一个小时内完成"
>
<template #icon> <template #icon>
<SmileOutlined/> <SmileOutlined/>
</template> </template>
<template #extra> <template #extra>
<a-button <a-button type="primary"
type="primary" @click="handleSubmit"
@click="handleSubmit" >撤回审核</a-button>
>撤回申请</a-button>
</template> </template>
</AResult> </AResult>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { Result } from 'ant-design-vue'; import { Result } from 'ant-design-vue';
import { revokeAuthPushEnterprise } from '/@/api/platform/common/controller/pushEnterprise'; import { updatePushEnterpriseAuditStatus } from '/@/api/platform/common/controller/pushEnterprise';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import { SmileOutlined } from '@ant-design/icons-vue'; import { SmileOutlined } from '@ant-design/icons-vue';
import type { PushEnterprise } from '/@/api/platform/common/entity/pushEnterprise';
const AResult = Result; const AResult = Result;
const { createConfirm } = useMessage(); const { createConfirm } = useMessage();
const emit = defineEmits(['previous']); const emit = defineEmits(['previous']);
const props = defineProps({
pushEnterprise: {
type: Object as PropType<PushEnterprise>,
default: () => ({})
}
});
async function handleSubmit() { async function handleSubmit() {
const contentText = props.pushEnterprise?.status == -1
? '是否确认撤销审核?'
: '是否确认返回到填写企业信息?';
createConfirm({ createConfirm({
iconType: 'warning', iconType: 'warning',
title: '温馨提醒', title: '温馨提醒',
content: '是否确认撤回审核申请?', content: contentText,
onOk: async () => { onOk: async () => {
await revokeAuthPushEnterprise(); await updatePushEnterpriseAuditStatus(0);
emit('previous'); emit('previous');
} }
}); });

56
src/views/system/user/account/setting/entCertification/index.vue

@ -1,41 +1,48 @@
<template> <template>
<div <div
ref="wrapperRef" ref="wrapperRef"
v-loading="state.loadingStatus"
class="step-form-form" class="step-form-form"
:style="getContentStyle" :style="getContentStyle"
> >
<div> <div>
<ASteps :current="current"> <ASteps :current="state.current">
<AStep title="填写企业信息"/> <AStep title="填写企业信息"/>
<AStep title="等待审核"/> <AStep title="审核处理"/>
<AStep title="认证成功"/> <AStep title="企业信息"/>
</ASteps> </ASteps>
</div> </div>
<div class="mt-5"> <div class="mt-5">
<Step1 v-show="current === 0" @next="current++"/> <Step1 v-show="state.current === 0" @next="state.current++"/>
<Step2 v-show="current === 1" @previous="current--"/> <Step2 v-show="state.current === 1" :push-enterprise="state.pushEnterprise" @previous="state.current--"/>
<Step3 v-show="current === 2"/> <Step3 v-show="state.current === 2"/>
</div> </div>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, computed, CSSProperties, unref, onMounted } from 'vue'; import { ref, unref, computed, CSSProperties, reactive, onMounted } from 'vue';
import Step1 from './Step1.vue'; import Step1 from './Step1.vue';
import Step2 from './Step2.vue'; import Step2 from './Step2.vue';
import Step3 from './Step3.vue'; import Step3 from './Step3.vue';
import { Steps } from 'ant-design-vue'; import { Steps } from 'ant-design-vue';
import { useContentHeight } from '/@/hooks/web/useContentHeight'; import { useContentHeight } from '/@/hooks/web/useContentHeight';
import { getPushEnterpriseByUserId } from '/@/api/platform/common/controller/pushEnterprise'; import { getAuthData } from '/@/api/platform/common/controller/pushEnterprise';
import type { PushEnterprise } from '/@/api/platform/common/entity/pushEnterprise'; import type { PushEnterprise } from '/@/api/platform/common/entity/pushEnterprise';
import { useUserStore } from '/@/store/modules/user';
interface State {
current: number;
loadingStatus: boolean;
pushEnterprise: PushEnterprise | undefined;
}
const ASteps = Steps; const ASteps = Steps;
const AStep = Steps.Step; const AStep = Steps.Step;
const wrapperRef = ref(null); const wrapperRef = ref(null);
const current = ref(0); const state = reactive<State>({
const pushThirdParty = ref<PushEnterprise>(); current: 0,
const userStore = useUserStore(); loadingStatus: false,
const userInfoStore = userStore.getUserInfo; pushEnterprise: undefined
});
const { contentHeight } = useContentHeight( const { contentHeight } = useContentHeight(
computed(() => true), computed(() => true),
wrapperRef, wrapperRef,
@ -46,22 +53,25 @@
const getContentStyle = computed((): CSSProperties => ({ minHeight: `${unref(contentHeight)}px` })); const getContentStyle = computed((): CSSProperties => ({ minHeight: `${unref(contentHeight)}px` }));
onMounted(async () => { onMounted(async () => {
await refreshPushThirdParty(); await loadPushEnterprise();
}); });
async function refreshPushThirdParty() { async function loadPushEnterprise() {
const result = await getPushEnterpriseByUserId(userInfoStore.id); state.loadingStatus = true;
pushThirdParty.value = result; const pushEnterprise = await getAuthData();
switch (result?.status) { state.pushEnterprise = pushEnterprise;
case '0': switch (pushEnterprise?.status) {
current.value = 1; case -1:
case 0:
state.current = 1;
break; break;
case '1': case 1:
current.value = 2; state.current = 2;
break; break;
default: default:
current.value = 0; state.current = 0;
} }
state.loadingStatus = false;
} }
</script> </script>

5
types/index.d.ts vendored

@ -33,12 +33,11 @@ declare type ComponentRef<T extends HTMLElement = HTMLDivElement> = ComponentElR
declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>; declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>;
/** 弹窗传递数据通用类型定义 */ /** 弹出框载荷参数类型定义 */
declare type WindowInnerData = { declare type BoxPayload = {
// 操作标签 // 操作标签
_tag: string; _tag: string;
// 表格记录行数 // 表格记录行数
record?: Recordable; record?: Recordable;
[key: string]: any; [key: string]: any;
}; };

Loading…
Cancel
Save