From 02b0ed6105a13dcc1b7ca50b2dac8380c11f4c6d Mon Sep 17 00:00:00 2001 From: songguoqiang <765017469@qq.com> Date: Mon, 4 Dec 2023 16:24:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=89=E9=92=89=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dingtalk/dingtalkrecords/index.ts | 53 +++++ .../dingtalkrecords/dingtalkRecords.data.ts | 110 +++++++++ src/views/dingtalk/dingtalkrecords/index.vue | 211 ++++++++++++++++++ 3 files changed, 374 insertions(+) create mode 100644 src/api/dingtalk/dingtalkrecords/index.ts create mode 100644 src/views/dingtalk/dingtalkrecords/dingtalkRecords.data.ts create mode 100644 src/views/dingtalk/dingtalkrecords/index.vue diff --git a/src/api/dingtalk/dingtalkrecords/index.ts b/src/api/dingtalk/dingtalkrecords/index.ts new file mode 100644 index 0000000..f257ca6 --- /dev/null +++ b/src/api/dingtalk/dingtalkrecords/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +export interface DingtalkRecordsVO { + projectCode: string + itemCode: string + deletionTime: Date + deleterId: string + contents: string + sendCreator: string + importCreator: string + sendTime: Date +} + +// 查询往钉钉用户发送消息记录列表 +export const getDingtalkRecordsPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/dingtalkrecords/dingtalk-records/senior', data }) + } else { + return await request.get({ url: `/dingtalkrecords/dingtalk-records/page`, params }) + } +} + +// 查询往钉钉用户发送消息记录详情 +export const getDingtalkRecords = async (id: number) => { + return await request.get({ url: `/dingtalkrecords/dingtalk-records/get?id=` + id }) +} + +// 新增往钉钉用户发送消息记录 +export const createDingtalkRecords = async (data: DingtalkRecordsVO) => { + return await request.post({ url: `/dingtalkrecords/dingtalk-records/create`, data }) +} + +// 修改往钉钉用户发送消息记录 +export const updateDingtalkRecords = async (data: DingtalkRecordsVO) => { + return await request.put({ url: `/dingtalkrecords/dingtalk-records/update`, data }) +} + +// 删除往钉钉用户发送消息记录 +export const deleteDingtalkRecords = async (id: number) => { + return await request.delete({ url: `/dingtalkrecords/dingtalk-records/delete?id=` + id }) +} + +// 导出往钉钉用户发送消息记录 Excel +export const exportDingtalkRecords = async (params) => { + return await request.download({ url: `/dingtalkrecords/dingtalk-records/export-excel`, params }) +} + +// 下载导入模板 +export const importTemplate = () => { + return request.download({ url: '/dingtalkrecords/dingtalk-records/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/dingtalk/dingtalkrecords/dingtalkRecords.data.ts b/src/views/dingtalk/dingtalkrecords/dingtalkRecords.data.ts new file mode 100644 index 0000000..da76553 --- /dev/null +++ b/src/views/dingtalk/dingtalkrecords/dingtalkRecords.data.ts @@ -0,0 +1,110 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const DingtalkRecordsRules = reactive({ +}) + +export const DingtalkRecords = useCrudSchemas(reactive([ + { + label: '项目名称', + field: 'projectName', + isSearch: false, + isTable: true, + + }, + { + label: '物料名称', + field: 'itemName', + isSearch: false, + isTable: true, + }, + { + label: '物料编码', + field: 'itemCode', + isSearch: false, + isTable: true, + }, + { + label: '物料类型', + field: 'itemType', + dictType: DICT_TYPE.ITEMBASIC_TYPE, + dictClass: 'string', + isTable: true, + isSearch:true, + // table: { + // width: 100 + // } , + search:{ + componentProps: { + // inactiveValue: 'DISABLE', + // activeValue: 'ENABLE', + filterable:true + } + + }, + form: { + component: 'Select', + componentProps: { + // inactiveValue: 'DISABLE', + // activeValue: 'ENABLE', + } + }, + }, + { + label: '推送内容', + field: 'contents', + isSearch: false, + }, + { + label: '推送时间', + field: 'createTime', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false + }, + { + label: '推送人', + field: 'sendName', + isSearch: false + }, + // { + // label: '导入数据人', + // field: 'importCreator', + // sort: 'custom', + // isSearch: false + // }, + // { + // label: '发送时间', + // field: 'sendTime', + // sort: 'custom', + // formatter: dateFormatter, + // isSearch: true, + // search: { + // component: 'DatePicker', + // componentProps: { + // valueFormat: 'YYYY-MM-DD HH:mm:ss', + // type: 'daterange', + // defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + // } + // }, + // isForm: false + // }, + // { + // label: '操作', + // field: 'action', + // isForm: false, + // table: { + // width: 150, + // fixed: 'right' + // } + // } +])) diff --git a/src/views/dingtalk/dingtalkrecords/index.vue b/src/views/dingtalk/dingtalkrecords/index.vue new file mode 100644 index 0000000..11c88f1 --- /dev/null +++ b/src/views/dingtalk/dingtalkrecords/index.vue @@ -0,0 +1,211 @@ + + +