diff --git a/src/api/basicManage/groupManage.js b/src/api/basicManage/groupManage.js index fc3e480..28321f7 100644 --- a/src/api/basicManage/groupManage.js +++ b/src/api/basicManage/groupManage.js @@ -36,3 +36,11 @@ export function delGroupAPI(data) { }) } +// 获取所有分组 +export function getAllGroupAPI() { + return request({ + url: '/group/getGroupSelect', + method: 'GET', + }) +} + diff --git a/src/api/sMsSendManage/loopSend.js b/src/api/sMsSendManage/loopSend.js new file mode 100644 index 0000000..23e39e3 --- /dev/null +++ b/src/api/sMsSendManage/loopSend.js @@ -0,0 +1,58 @@ +import request from '@/utils/request' + +// 循环发送短信 - 查询列表 +export function listLoopSendAPI(query) { + return request({ + url: '/msgJob/list', + method: 'GET', + params: query, + }) +} + +// 循环发送短信 - 新增 +export function addLoopSendAPI(data) { + return request({ + url: '/msgJob/add', + method: 'POST', + data, + }) +} + +// 循环发送短信 - 修改 +export function updateLoopSendAPI(data) { + return request({ + url: '/msgJob/update', + method: 'POST', + data, + }) +} + +// 循环发送短信 - 删除 +export function delLoopSendAPI(data) { + return request({ + url: '/msgJob/delete', + method: 'POST', + data, + }) +} + +// 循环发送短信 - 详情 +export function getLoopSendDetailAPI(id) { + return request({ + url: `/msgJob/getById`, + method: 'POST', + data: { + id, + }, + }) +} + +// 循环发送短信 - 更新任务状态 +export function updateLoopSendStatusAPI(data) { + return request({ + url: '/msgJob/updateLoopTaskStatus', + method: 'POST', + data, + }) +} + diff --git a/src/components/PersonPicker/index.vue b/src/components/PersonPicker/index.vue new file mode 100644 index 0000000..499cd9e --- /dev/null +++ b/src/components/PersonPicker/index.vue @@ -0,0 +1,610 @@ + + + + + + diff --git a/src/router/index.js b/src/router/index.js index f40e626..8309f16 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -117,6 +117,22 @@ export const constantRoutes = [ }, ], }, + { + path: '/sms/loopSendEdit', + component: Layout, + hidden: true, + children: [ + { + path: 'index', + component: () => import('@/views/sMsSendManage/loopSend/edit.vue'), + name: 'LoopSendEdit', + meta: { + title: '循环发送短信', + activeMenu: '/sms/loopSend', // 保持左侧高亮在列表菜单 + }, + }, + ], + }, ] // 动态路由,基于用户权限动态去加载 diff --git a/src/views/sMsSendManage/loopSend/config.js b/src/views/sMsSendManage/loopSend/config.js new file mode 100644 index 0000000..0525ec9 --- /dev/null +++ b/src/views/sMsSendManage/loopSend/config.js @@ -0,0 +1,69 @@ +import { reactive } from 'vue' + +// 搜索表单配置 +export const buildFormColumns = () => [ + { + type: 'input', + prop: 'taskName', + placeholder: '请输入任务名称', + }, + { + type: 'date', + prop: 'dateRange', + dateType: 'daterange', + placeholder: '请选择日期范围', + paramsList: ['startTime', 'endTime'], // 将日期范围拆分为开始时间和结束时间 + }, + { + type: 'select', + prop: 'smsType', + placeholder: '请选择短信类型', + options: [ + { label: '通知', value: '1' }, + { label: '计划', value: '2' }, + ], + }, +] + +// 表格列配置 +export const tableColumns = [ + { + prop: 'taskName', + label: '任务名称', + }, + { + prop: 'createTime', + label: '创建时间', + }, + { + prop: 'msgType', + label: '短信类型', + formatter: (row) => { + const typeMap = { + 1: '通知', + 2: '计划', + } + return typeMap[row.msgType] || row.smsType + }, + }, + { + prop: 'sendContent', + label: '短信内容', + showOverflowTooltip: true, + }, + { + prop: 'workerCount', + label: '短信接收人数', + }, + { + prop: 'taskStatus', + label: '任务状态', + slot: 'taskStatus', + }, +] + +export default { + tableColumns, + buildFormColumns, +} + diff --git a/src/views/sMsSendManage/loopSend/edit.vue b/src/views/sMsSendManage/loopSend/edit.vue new file mode 100644 index 0000000..108a661 --- /dev/null +++ b/src/views/sMsSendManage/loopSend/edit.vue @@ -0,0 +1,596 @@ + + + + + + diff --git a/src/views/sMsSendManage/loopSend/index.vue b/src/views/sMsSendManage/loopSend/index.vue new file mode 100644 index 0000000..ac8b7c4 --- /dev/null +++ b/src/views/sMsSendManage/loopSend/index.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/src/views/sMsSendManage/onceSend/index.vue b/src/views/sMsSendManage/onceSend/index.vue new file mode 100644 index 0000000..e192f67 --- /dev/null +++ b/src/views/sMsSendManage/onceSend/index.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file