Browse Source

feat: 企业推送消息接口

master
wangxiang 2 years ago
parent
commit
dec238bc5c
  1. 7
      src/views/common/push/pushApplication/EnterpriseSendModal.vue
  2. 45
      src/views/common/push/pushApplication/application.data.ts
  3. 4
      src/views/common/push/pushApplication/index.vue

7
src/views/common/push/pushApplication/SendMessageModal.vue → src/views/common/push/pushApplication/EnterpriseSendModal.vue

@ -23,21 +23,20 @@
const userInfoStore = userStore.getUserInfo; const userInfoStore = userStore.getUserInfo;
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({
labelWidth: 150, labelWidth: 80,
schemas: sendFormSchema, schemas: sendFormSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
baseColProps: { span: 24 } baseColProps: { span: 24 }
}); });
const [registerModal, { setModalProps, closeModal, redoModalHeight }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data: WindowInnerData = { _tag: '' }) => {
// //
await resetFields(); await resetFields();
await clearValidate(); await clearValidate();
messageSecret.value = data.record?.messageSecret; messageSecret.value = data.record?.messageSecret;
const props: Partial<ModalProps> = { confirmLoading: false }; const props: Partial<ModalProps> = { confirmLoading: false };
props.title = '发送消息'; props.title = '企业发送消息';
// : // :
setModalProps(props); setModalProps(props);
redoModalHeight();
}); });
async function handleSubmit() { async function handleSubmit() {

45
src/views/common/push/pushApplication/application.data.ts

@ -3,6 +3,11 @@ import { FormSchema } from '/@/components/Table';
import { h } from 'vue'; import { h } from 'vue';
import { Tag } from 'ant-design-vue'; import { Tag } from 'ant-design-vue';
import { listPushType } from '/@/api/platform/common/controller/pushType'; import { listPushType } from '/@/api/platform/common/controller/pushType';
import {listPushConcernFan} from "/@/api/platform/common/controller/pushConcernFan";
import {useUserStore} from "/@/store/modules/user";
const userStore = useUserStore();
const userInfoStore = userStore.getUserInfo;
/** 表格列配置 */ /** 表格列配置 */
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
@ -111,6 +116,7 @@ export const formSchema: FormSchema[] = [
} }
]; ];
/** 发送消息表单 */
export const sendFormSchema: FormSchema[] = [ export const sendFormSchema: FormSchema[] = [
{ {
field: 'userId', field: 'userId',
@ -125,25 +131,29 @@ export const sendFormSchema: FormSchema[] = [
show: false show: false
}, },
{ {
field: 'title', field: 'remarks',
label: '标题', label: '任务描述',
component: 'Input', component: 'Input',
required: true, required: true,
colProps: { componentProps: {
span: 24 showCount: true,
maxlength: 20,
} }
}, },
{ {
label: '通知文字描述', field: 'title',
label: '通知标题',
component: 'Input',
required: true,
},
{
label: '通知内容',
field: 'text', field: 'text',
component: 'InputTextArea', component: 'InputTextArea',
required: true, required: true,
componentProps: { componentProps: {
rows: 6 rows: 6
}, },
colProps: {
span: 24
}
}, },
{ {
field: 'pushTypeId', field: 'pushTypeId',
@ -159,4 +169,23 @@ export const sendFormSchema: FormSchema[] = [
resultField: 'data' resultField: 'data'
}, },
}, },
{
field: 'alias',
label: '推送用户',
component: 'ApiTreeSelect',
componentProps: {
api: listPushConcernFan,
params: {
status: '1',
fanUserId: userInfoStore.id
},
resultField: 'data',
treeCheckable: true,
showCheckedStrategy: 'SHOW_PARENT',
treeDefaultExpandAll: true,
maxTagCount: 10,
fieldNames: { label: 'nickName', key: 'concernUserId', value: 'concernUserId' },
allowClear: true,
},
},
]; ];

4
src/views/common/push/pushApplication/index.vue

@ -46,7 +46,7 @@
</BasicTable> </BasicTable>
<!--弹出窗体区域--> <!--弹出窗体区域-->
<ApplicationModal @register="registerModal" @success="handleRefreshTable"/> <ApplicationModal @register="registerModal" @success="handleRefreshTable"/>
<SendMessageModal @register="registerSendModal"/> <EnterpriseSendModal @register="registerSendModal"/>
</div> </div>
</template> </template>
@ -62,7 +62,7 @@
import { listPushApplication, delPushApplication } from '/@/api/platform/common/controller/pushApplication'; import { listPushApplication, delPushApplication } from '/@/api/platform/common/controller/pushApplication';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import ApplicationModal from './ApplicationModal.vue'; import ApplicationModal from './ApplicationModal.vue';
import SendMessageModal from './SendMessageModal.vue'; import EnterpriseSendModal from './EnterpriseSendModal.vue';
import { columns, searchFormSchema } from './application.data'; import { columns, searchFormSchema } from './application.data';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';

Loading…
Cancel
Save