From 4ff764d5d0cf3facec91a03397e3e537b3e18041 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 27 Feb 2023 17:42:52 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/push/pushTodoThirdParty/index.vue | 28 ++++++ .../pushTodoUserManage/UserManageModal.vue | 58 +++++------ .../common/push/pushTodoUserManage/index.vue | 25 ++--- .../pushTodoUserManage/userManage.data.ts | 96 ++++++++----------- .../push/pushUserManage/UserManageModal.vue | 4 +- .../common/push/pushUserManage/index.vue | 24 +++-- .../push/pushUserManage/userManage.data.ts | 96 ++++++++----------- src/views/system/user/index.vue | 31 +++++- 8 files changed, 194 insertions(+), 168 deletions(-) diff --git a/src/views/common/push/pushTodoThirdParty/index.vue b/src/views/common/push/pushTodoThirdParty/index.vue index 619cdfd..4da1b0c 100644 --- a/src/views/common/push/pushTodoThirdParty/index.vue +++ b/src/views/common/push/pushTodoThirdParty/index.vue @@ -16,6 +16,11 @@ icon: 'fa6-regular:pen-to-square', onClick: handleEdit.bind(null, record) }, + { + label: '推送申请', + icon: 'fa6-regular:pen-to-square', + onClick: handlePushAdd.bind(null, record) + }, { label: '删除', icon: 'ant-design:delete-outlined', @@ -40,10 +45,15 @@ import { reactive, toRaw } from 'vue'; import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { listPushThirdParty, delPushThirdParty } from '/@/api/platform/common/controller/pushThirdParty'; + import { addPushUserManage } from '/@/api/platform/common/controller/pushUserManage'; import { useModal } from '/@/components/Modal'; import ThirdPartyModal from './ThirdPartyModal.vue'; import { columns, searchFormSchema } from './thirdParty.data'; import { useMessage } from '/@/hooks/web/useMessage'; + import {useUserStore} from '/@/store/modules/user'; + + const userStore = useUserStore(); + const userInfoStore = userStore.getUserInfo; /** 类型规范统一声明定义区域 */ interface TableState { @@ -107,6 +117,24 @@ openModal(true, { _tag: 'edit', record }); } + function handlePushAdd(record?: Recordable) { + createConfirm({ + iconType: 'warning', + title: '警告', + content: `是否添加推送申请编号为${record?.userId}的数据?`, + onOk: async () => { + await addPushUserManage({ + fromUserId: record?.userId, + toUserId: userInfoStore.id, + userName: record?.entName, + type: '1' + }); + createMessage.success('申请成功!'); + handleRefreshTable(); + } + }); + } + /** 删除按钮操作,行内删除 */ async function handleDel(record?: Recordable) { const ids = record?.id || getSelectRowKeys(); diff --git a/src/views/common/push/pushTodoUserManage/UserManageModal.vue b/src/views/common/push/pushTodoUserManage/UserManageModal.vue index 75493a9..5b5ed42 100644 --- a/src/views/common/push/pushTodoUserManage/UserManageModal.vue +++ b/src/views/common/push/pushTodoUserManage/UserManageModal.vue @@ -1,9 +1,14 @@ @@ -17,59 +22,46 @@ import { ref, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formSchema } from './userManage.data'; - import { addPushUserManage, editPushUserManage, getPushUserManage } from '/@/api/platform/common/controller/pushUserManage'; + import { editPushUserManage, getPushUserManage, delPushUserManage } from '/@/api/platform/common/controller/pushUserManage'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; + import {useMessage} from '/@/hooks/web/useMessage'; - /** 通用变量统一声明区域 */ - const tag = ref>(''); - /** https://v3.cn.vuejs.org/api/options-data.html#emits */ + const { createMessage } = useMessage(); const emit = defineEmits(['success', 'register']); - const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ + const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema, setProps }] = useForm({ labelWidth: 100, schemas: formSchema, showActionButtonGroup: false, baseColProps: { span: 24 } }); + + const id = ref(''); const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { - // 处理清除脏数据 await resetFields(); await clearValidate(); - // 处理设置数据 - tag.value = data._tag; - const refId = data.record?.id; + id.value = data.record?.id; const props: Partial = { confirmLoading: false }; - // 采用tag标签区分操作 - switch (unref(tag)) { - case 'add': - props.title = '新增用户推送'; - break; - case 'edit': - props.title = '编辑用户推送'; - await setFieldsValue(await getPushUserManage(refId)); - break; - } - // 尾部:设置处理后的最终配置数据 + props.title = '推送申请'; + await setFieldsValue(await getPushUserManage(id.value)); + await setProps({ disabled: true }); setModalProps(props); }); - /** 处理弹出框提交 */ + async function handleReject() { + await delPushUserManage(id.value); + closeModal(); + createMessage.info('申请拒绝!'); + emit('success'); + } + async function handleSubmit() { try { - // 提取验证数据 const formData = await validate(); - // 处理提交之前逻辑 + formData.status = '1'; setModalProps({ confirmLoading: true }); - // 采用tag标签区分操作 - switch (unref(tag)) { - case 'add': - await addPushUserManage(formData); - break; - case 'edit': - await editPushUserManage(formData); - break; - } - // 处理提交完成之后逻辑 + await editPushUserManage(formData); closeModal(); + createMessage.success('申请通过!'); emit('success'); } finally { setModalProps({ confirmLoading: false }); diff --git a/src/views/common/push/pushTodoUserManage/index.vue b/src/views/common/push/pushTodoUserManage/index.vue index aa63a2f..5a84a86 100644 --- a/src/views/common/push/pushTodoUserManage/index.vue +++ b/src/views/common/push/pushTodoUserManage/index.vue @@ -4,22 +4,15 @@ @selection-change="handleSelectionChange" >